Language
C
Compiler
gcc 12.1.0
Options
Warnings
Optimization
C99
-pedantic
Raw compiler options
-Dscanfs=scanf
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
double i, p, r, a, b = 0, girl, boy;
srand((unsigned int)time(NULL));
printf(" 0 < p < 10000の範囲でpの値を入力してください\n");
scanfs("p = %lf", &p);
p = p / 10000;
for (i = 0; i < 10000; i++) {
r = (double)rand() / RAND_MAX;
boy = 0;
girl = 0;
if (p > r) {
girl++;
}
else {
boy++;
}
if (girl == 0) {
while (boy < 2) {
r = (double)rand() / RAND_MAX;
if (p > r) {
girl++;
}
else {
boy++;
}
}
}
else if (girl == 1) {
while (girl < 2) {
r = (double)rand() / RAND_MAX;
if (p > r) {
girl++;
}
else {
boy++;
}
}
}
a = boy + girl;
b = b + a;
}
b = b / 100;
printf("子供の平均の数 = %f\n", b);
return 0;
}
p = 314
$ gcc prog.c -Wall -Wextra -O2 -march=native -std=c99 -pedantic -Dscanfs=scanf
0 < p < 10000の範囲でpの値を入力してください
子供の平均の数 = 293.660000
Exit Code:
0