【发布时间】:2012-10-18 05:04:39
【问题描述】:
使用以下原型编写一个函数。整数 getRandomIntFrom0ToK(int K) 函数调用随机数 生成一个随机值均匀分布在 区间 [0,1] 并为正整数 K 返回一个随机数 均匀分布在整数 {0,1,2,...K} 上。写一个程序来 测试函数,显示生成的随机整数由 您的函数以大约等于 {0,1,2,...K} 中的每个数字 概率。
那么,为什么有两个间隔?
{0,K} 是可以理解的,但为什么需要 [0,1]?
到目前为止,我不知道自己在做什么:
#include <stdio.h>
int getRandomIntFrom0toK(int K)
{
int i=0;
printf("enter k:");
scanf("%d",&K);
while (i<K)
{
int num=(rand()%(K-1)+1);
printf("%d\n",num);
i++;
}
}
int main(void)
{
int result=getRandomIntFrom0toK(1+rand()%(1));
return 0;
}
【问题讨论】: