1041: 迭代法求平方根
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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