牛頓迭代法求輸入數的平方根

問題:輸入一個數,用牛頓迭代法求平方根?

#include <iostream>
using namespace std;
double EPS = 0.0001;    //用於控制計算精度
int main() {
    //牛頓迭代法求輸入數的平方根
    double a;
    cin >> a;   //輸入a,要求a的平方根
    if(a >= 0) {
        double x = a / 2, lastX = x + 1 + EPS;   //確保能夠進行一次迭代
        while(x - lastX > EPS || lastX - x > EPS) {   //只要精度未達到要求,就繼續迭代
            lastX = x;
            x = (x + a / x) / 2;
        }
        cout << x;
    }
    else
        cout << "It cant's be negative";
    return 0;
}

附上一個一重for循環求解階乘的和問題。
1!+ 2!+ 3!+ 4!+ 5!+…+ n! = ???

#include <iostream>
using namespace std;
int main() {
    //一重循環解決階乘的和
    int n;
    cin >> n;
    int sum = 0;
    int factorial = 1;
    for(int i = 1; i <= n; i++) {
        factorial *= i;
        sum += factorial;
    }
    cout << sum << endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章