求算法,已知整数随机函数rand(0,1),如何变化成rand(0,2)
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/19 10:38:53
求算法,已知整数随机函数rand(0,1),如何变化成rand(0,2)
已知整数随机函数x=rand(0,1)
其中 x=0的概率是1/2,x=1的概率是1/2
现在要求y=rand(0,2)
其中 y=0的概率是1/3,y=1的概率是1/3,y=1的概率是1/3
如何用rand(0,1)表示出rand(0,2)?
其中 y=0的概率是1/3,y=1的概率是1/3,y=2的概率是1/3
已知整数随机函数x=rand(0,1)
其中 x=0的概率是1/2,x=1的概率是1/2
现在要求y=rand(0,2)
其中 y=0的概率是1/3,y=1的概率是1/3,y=1的概率是1/3
如何用rand(0,1)表示出rand(0,2)?
其中 y=0的概率是1/3,y=1的概率是1/3,y=2的概率是1/3
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
/* rand(0, 1) */
int rand1(){
return rand()%2;
}
/* rand(0, 2) */
int rand2(){
int r;
do{
r = 2*rand1() + rand1();
}while(r >= 3);
return r;
}
int main(){
int i, A[3] = {0, 0, 0};
srand((unsigned)time(NULL));
for(i=0; i<10000; i++)
A[rand2()]++;
printf("%g %g %g", A[0]/10000., A[1]/10000., A[2]/10000.);
}参考自:
"http://stackoverflow.com/questions/137783/expand-a-random-range-from-15-to-17"
#include <time.h>
#include <stdlib.h>
/* rand(0, 1) */
int rand1(){
return rand()%2;
}
/* rand(0, 2) */
int rand2(){
int r;
do{
r = 2*rand1() + rand1();
}while(r >= 3);
return r;
}
int main(){
int i, A[3] = {0, 0, 0};
srand((unsigned)time(NULL));
for(i=0; i<10000; i++)
A[rand2()]++;
printf("%g %g %g", A[0]/10000., A[1]/10000., A[2]/10000.);
}参考自:
"http://stackoverflow.com/questions/137783/expand-a-random-range-from-15-to-17"
求算法,已知整数随机函数rand(0,1),如何变化成rand(0,2)
Excel 中 利用ROUND和RAND函数 随机0到100的整数怎么做啊~
在EXCEL中如何利用RAND函数来产生一个介于0到+50的随机函数及-2到+6的随机函数,且带正负号
算法设计:int rand()是一个能产生(0,65565)的随机数函数,怎么随机产生十个(1,300000)的不相等的
请问这个Excel函数是什么意思:ROUND(RAND()*10,0)*(-1)^ROUND(RAND()*3,0),
excel2003中怎样控制随机函数rand出0~100的数,2/3大于等于60?
c语言 随机数 求pi 求解释为什么rand()/(float)RAND_MAX可以产生0到1的随机小数
=INT(RAND()*2)这种变量怎么控制0到1.5其中包括(0,0.5,1,1.5)随机变化
C语言中如何用rand()函数产生20-90的随机整数
Excel 中 利用ROUND和RAND函数 随机450到500的整数怎么做啊?
谁用随机函数rand()产生一个在【-20,20】两位整数的表达式是?
C使用随机函数时,产生0~1的数,d=(double) rand()/(double)RAND_MAX.能不能使其等于1