次のプロトタイプを使用して関数を作成します。int getRandomIntFrom0ToK(int K) この関数は、間隔 [0,1] に一様に分布する乱数を生成する乱数発生器を呼び出し、正の整数 K に対して、整数 {0,1,2, に一様に分布する乱数を返します。 ..K}. 関数をテストするプログラムを作成します。これは、関数によって生成されたランダムな整数が {0,1,2,...K} の各数値にほぼ等しい確率でヒットすることを示しています。
では、なぜ 2 つの間隔があるのでしょうか。
{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;
}