#include <stdio.h>
#include <math.h> // sqrt関数を使用するために必要

// 関数 f(x) = sqrt(x) を定義
double f(double x) {
    return sqrt(x);
}

int main() {
    const int N = 20; // 最大分割数
    double d, s, tru, e; // 各種変数
    int m, n; // 分割数
    tru = 9.0; // 真値（問題に基づく）

    printf("分割数\t誤差\n");

    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); // 真値との差を計算

        // 結果を出力
        printf("%d\t%.6f\n", m,s,e);
    }

    return 0;
}