標準正規分布のプログラムを作りましたが、1つ目の値が3.566920と何度実行しても固定されます。
その上、最初の値とそれ以降の数では乱数の幅が大きく異なりました。
#include<stdio.h> #include<stdlib.h> #include<math.h> int main(void) { int k; double r1,r2, x; for(k=1; k<=10; k++) { r1=(double)rand()/RAND_MAX; r2=(double)rand()/RAND_MAX; x=sqrt(-2*log(r1))*sin(2*M_PI*r2); printf("x=%lf\n",x); } return 0; }
回答1件
あなたの回答
tips
プレビュー