#include <stdio.h>
#include<stdlib.h>
#define MMAX 10000
main()
{
    int seed;
    int j,k,n;    //ループ用カウンタ
    int m;      //M
    int box[MMAX];  //箱
    float x;    //乱数
    float min,max;  //箱の境界
    int z;      //Z
    printf("input seed = ");
    scanf("%d",&seed);
    srand(seed);
    printf("input M = ");
    scanf("%d",&m);
    z=m;
    //箱の初期化
    for (j=0; j<m; j++) box[j]=0;
    for (k=0; k<m; k++) {
        x = rand();
        x = m*(x/RAND_MAX); //xを０〜Mの範囲の乱数にする
        for (n=0; n<m; n++) { 
        //xを長さ１の箱に入れ，何も入っていない箱だったらZから１を引く
            min=n;
            max=n+1;
            if( (x>=min) && (x<=max) ) {
                if(box[n]==0) {
                    box[n]=1;
                    z=z-1;
                }
            }
        }
    }
    printf("M/Z = %f\n",(float)((float)m/(float)z));
}
