ytu 1041: 迭代法求平方根(水题)

1041: 迭代法求平方根

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 227  Solved: 146
[Submit][Status][Web Board]

Description

用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。输出保留3位小数

Input

X

Output

X的平方根

Sample Input

4

Sample Output

2.000

HINT

 

Source

 
  迭代法:就是不断循环迭代求值的方法,利用旧值来产生新值。
  求平方根的迭代公式:x1=(x0-a/x0)/2
 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     float x,a;
 8     float t=1;
 9     cin>>a;
10     x=a/2;
11     while(t>=1e-5){
12         t=x;
13         x=(x+a/x)/2;
14         //cout<<x<<endl;
15         t=t-x;
16     }
17     cout<<setiosflags(ios::fixed);
18     cout<<setprecision(3);
19     cout<<x<<endl;
20     return 0;
21 }

 

Freecode : www.cnblogs.com/yym2013

posted @ 2013-12-17 16:03  Freecode#  阅读(393)  评论(0编辑  收藏  举报