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

你可能感兴趣的:(水题)