可以先猜測一個數,比如1.5,然後用2除以這個數字。如果我們猜對了,則除法的結果必然與我們猜測的數字相同。我們猜測的越准確,除法的結果與猜測的數字就越接近。
根據這個原理,只要我們每次取猜測數和試除反饋數的中間值作為新的猜測數,肯定更接近答案!這種計算方法叫做“迭代法”。
代碼如下:
double n = 2;
double a = 0;
double b = n;
while(fabs(a-b)>1E-15) //當計算的到數和猜測數在一定誤差之內則輸出猜測數
{
a = (a+b)/2; //猜測的數字為n的一半
b = n/a;
}
printf("%f\n", a);