從A tour of Go裡面學到的
給定一個值x, 找出z, 使得z平方最接近x
(找出x的平方根)
裡面提到可以運用Newton's Method
z -= (z * z - x) / (2 * z)
z從1開始猜,
跑個十次, 每次的值會越來越接近x
double sqrt(int x) {
double z = 1;
for (int i = 0; i < 10; ++i) {
z -= (z * z - x) / (2 * z)
}
return z;
}
沒有留言:
張貼留言