OJ刷題之迭代法求平方根
阿新 • • 發佈:2019-01-27
問題及程式碼:
/* * Copyright (c) 2014, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:test.cpp * 作 者:郝俊宇 * 完成日期:2015年 1 月8 日 * 版 本 號:v1.0 * * 問題描述:用迭代法求 。求平方根的迭代公式為: X[n+1]=1/2(X[n]+a/X[n]) 要求前後兩次求出的得差的絕對值少於0.00001。輸出保留3位小數。 * 輸入描述:x * 程式輸出:x的平方根 */ #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { float x0,x1; int a; cin>>a; x0=a/2; x1=(x0+a/x0)/2; while(fabs(x0-x1)>=1e-5) { x0=x1; x1=(x0+a/x0)/2; } cout<<setiosflags(ios::fixed)<<setprecision(3)<<x1<<endl; return 0; }
執行結果: