#include <stdio.h>
#include <math.h> // sqrt関数を使用するために必要
// 関数 f(x) = sqrt(x) を定義
double f(double x) {
}
int main() {
const int N = 20; // 最大分割数
double d, s, tru, e; // 各種変数
int m, n; // 分割数
tru = 9.0; // 真値(問題に基づく)
for (m = 2; m <= N; m++) { // 分割数を増加
n = m;
d = 1.0 / n; // 区間幅
s = 0.0; // 初期化
// 面積の計算
for (int a = 0; a < n; a++) {
s += f((d * a) + (d / 2.0)); // 各区間の中心を基準に計算
}
// 誤差を計算
e
= fabs(s
- tru
); // 真値との差を計算
// 結果を出力
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+IC8vIHNxcnTplqLmlbDjgpLkvb/nlKjjgZnjgovjgZ/jgoHjgavlv4XopoEKCi8vIOmWouaVsCBmKHgpID0gc3FydCh4KSDjgpLlrprnvqkKZG91YmxlIGYoZG91YmxlIHgpIHsKICAgIHJldHVybiBzcXJ0KHgpOwp9CgppbnQgbWFpbigpIHsKICAgIGNvbnN0IGludCBOID0gMjA7IC8vIOacgOWkp+WIhuWJsuaVsAogICAgZG91YmxlIGQsIHMsIHRydSwgZTsgLy8g5ZCE56iu5aSJ5pWwCiAgICBpbnQgbSwgbjsgLy8g5YiG5Ymy5pWwCiAgICB0cnUgPSA5LjA7IC8vIOecn+WApO+8iOWVj+mhjOOBq+WfuuOBpeOBj++8iQoKICAgIHByaW50Zigi5YiG5Ymy5pWwXHToqqTlt65cbiIpOwoKICAgIGZvciAobSA9IDI7IG0gPD0gTjsgbSsrKSB7IC8vIOWIhuWJsuaVsOOCkuWil+WKoAogICAgICAgIG4gPSBtOwogICAgICAgIGQgPSAxLjAgLyBuOyAvLyDljLrplpPluYUKICAgICAgICBzID0gMC4wOyAvLyDliJ3mnJ/ljJYKCiAgICAgICAgLy8g6Z2i56mN44Gu6KiI566XCiAgICAgICAgZm9yIChpbnQgYSA9IDA7IGEgPCBuOyBhKyspIHsKICAgICAgICAgICAgcyArPSBmKChkICogYSkgKyAoZCAvIDIuMCkpOyAvLyDlkITljLrplpPjga7kuK3lv4PjgpLln7rmupbjgavoqIjnrpcKICAgICAgICB9CiAgICAgICAgCgogICAgICAgIC8vIOiqpOW3ruOCkuioiOeulwogICAgICAgIGUgPSBmYWJzKHMgLSB0cnUpOyAvLyDnnJ/lgKTjgajjga7lt67jgpLoqIjnrpcKCiAgICAgICAgLy8g57WQ5p6c44KS5Ye65YqbCiAgICAgICAgcHJpbnRmKCIlZFx0JS42ZlxuIiwgbSxzLGUpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cgo=