随便问问
给你一个函数能够产生1—7七个随机数,产生各个数的概率相等,如何用这个函数产生1—10的等概率随机数。
[解决办法]
有人问过了好像。
产生10组,相加,除以7。
[解决办法]
2楼 佩服 貌似 数组处理 能作为一种通式了
[解决办法]
呵呵 结贴了
[解决办法]
int rand7();//返回一个1-7的数int rand10(){ int i = rand7()-1;//0-6 int j = rand7()-1;//0-6 i = i*7+j; //产生一个00-66(7进制数,相当于10进制的0-48) //其中0-48出现的概率相等。 if(i>=40) return rand10(); else//0-39出现的概率相等 return i%10 + 1; //i%10为个位}