✨
√10を求めるプログラムを作る
C言語で作成します
√の計算はどんどん範囲を絞り込んで行って求めていきます。イメージはこんな感じです。
#include <stdio.h>
double sqrt_approx(double n, double tolerance) {
double low = 0; // 最小値
double high = n; // 最大値
double mid; // 中間値
while ((high - low) > tolerance) {
mid = (low + high) / 2;
if (mid * mid > n) {
high = mid; // 探索範囲を小さい側に絞る
} else {
low = mid; // 探索範囲を大きい側に絞る
}
}
return (low + high) / 2; // 最終的な近似値
}
int main() {
double n = 10; // 対象の数値
double tolerance = 0.000001; // 許容誤差
double result = sqrt_approx(n, tolerance);
printf("The square root of %f is approximately %f\n", n, result);
return 0;
}
Discussion