C++用迭代法求根号下7654321的值

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:38:15
最好有程序代码

#include "stdio.h"
int main()
{
float number;
printf("Please input the number:");
scanf("%f", &number);
float x=1;
int i;
for (i=0;i<1000;i++)
{
x = (x + number/x)/2;
}
printf("The square root of %f is %f\n", number ,x);
}

这个就可以了 用牛顿迭代法求根号的 原理很简单 我就不详细说了,
输入一个任意数 可以输出其 根号值

#include <iostream>
using namespace std;

float InvSqrt(float x){
float xhalf=0.5f*x;
long i=*(long*)&x;
i=0x5f3759df - (i>>1);
x=*(float *)&i;
x=x*(1.5f-xhalf*x*x);
return x;
}
int main()
{
float d = 1234567;
cout << InvSqrt(d);
}