#include <stdio.h> 
#include <stdlib.h>

int trial() //乱数の和が１を超えるまでの，乱数の個数を返す
{ 
    int ret;  /*Ｎの値*/
    double sum = 0; /*乱数の和*/
    
    //乱数の和が１．０以上になるまで繰り返し
    for(ret = 0; sum < 1.0; ret++){
        sum += (double)rand()/(double)RAND_MAX;
    }
    return ret;
}

main()
{
    int seed = 0; 
    int n_trial = 0;     //試行回数
    int sum = 0;         //Ｎの和
    int i;         //ループ用カウンタ

    while(1){
        printf("input seed = ");
        scanf("%d", &seed);
        srand(seed);

        /*試行回数を入力*/
        printf("input M = ");
        scanf("%d", &n_trial);
        
        /*入力された数だけ，試行を繰り返し*/
        for(i = n_trial; i > 0; i--){
            sum += trial();
        }

        /*結果（Ｎの平均値）を表示*/
        printf("E(N) = %f\n", (double)sum/(double)n_trial);
        return 0;
    }
}
