/****************************/
/* 乱数の生成 */
/* coded by Y.Suganuma */
/****************************/
#include <stdio.h>
#include <limits.h>
int uniform(int);
main()
{
double r;
int i1, k, x1 = 123, x2, sum[10] = {0};
for (i1 = 0; i1 < 1000000; i1++) {
x2 = uniform(x1);
x1 = x2;
r = (double)x2 / INT_MAX;
r = (r + 1.0) / 2.0;
k = (int)(r / 0.1);
if (k < 0)
k = 0;
else if (k > 9)
k = 9;
sum[k]++;
}
for (i1 = 0; i1 < 10; i1++)
printf("%f\n", sum[i1]/1000000.0);
return 0;
}
/******************************/
/* 混合合同法による乱数の生成 */
/******************************/
int uniform(int x)
{
return 262145 * x + 17;
}