C编程用百分比生成2和4
C programming generate 2 and 4 with a percentage
int random;
random=rand();
if(random<90)
var[x][y]=2;
else
var[x][y]=4;
如何以 90% 的百分比生成 2 个,以 10% 的百分比生成 4 个?
你的基本思路是对的,但是你把价值观弄错了。 rand()
产生一个小于 RAND_MAX
的非负伪随机数,这是一个很大的数字,保证至少为 65535。
你可以得到一个介于 0 和 1 之间的随机浮点数:
rand() / (RAND_MAX + 1.0)
如果低于 90% 或 0.9,则需要 2,否则为 4。所以:
var[x][y] = (rand() / (RAND_MAX + 1.0) < 0.9) ? 2 : 4;
int random;
random=rand();
if(random<90)
var[x][y]=2;
else
var[x][y]=4;
如何以 90% 的百分比生成 2 个,以 10% 的百分比生成 4 个?
你的基本思路是对的,但是你把价值观弄错了。 rand()
产生一个小于 RAND_MAX
的非负伪随机数,这是一个很大的数字,保证至少为 65535。
你可以得到一个介于 0 和 1 之间的随机浮点数:
rand() / (RAND_MAX + 1.0)
如果低于 90% 或 0.9,则需要 2,否则为 4。所以:
var[x][y] = (rand() / (RAND_MAX + 1.0) < 0.9) ? 2 : 4;