首页 > 试题广场 >

求一个正整数N的开方,要求不能用库函数sqrt(),结果的精

[问答题]
求一个正整数N的开方,要求不能用库函数sqrt(),结果的精度在0.001
#include <iostream>
using namespace std;
int main() {
    float a;
    scanf("%f", &a);
    
    float l = 1e-3;
    float r = a;
    while (r-l > 1e-3) {
        float mid = (r+l)/2;
        if (a/mid >= mid) l = mid;
        else r = mid;
    }
    printf("%0.3f", l);
    return l;
}

发表于 2023-06-25 23:18:58 回复(0)
using namespace std;
int main()
{
    int N;
    cout << "输入N的值:";
    cin >> N
        double x1 = 1;//初值
    double x2 = x1 / 2.0 + N / 2.0 / x1;
    while ( fabs(x2 - x1) > 0.001)
    {
        x1 = x2;
        x2 = x1 / 2.0 + N / 2.0 / x1;
    }
    cout <
    return 0;
}

发表于 2014-10-25 00:26:14 回复(2)