0

Cで非常に単純な乱数ジェネレーターメソッドを作成しようとしています。数値は0〜24である必要があり、たとえば14.5fにすることができます。

どんな助けでも素晴らしいでしょう、ありがとう!

4

4 に答える 4

7
float getRand() {
  float rnd = rand();
  rnd /= RAND_MAX;
  return rnd * 24.0f;
}

srand使用する前に、必ず乱数ジェネレーターをシードしてください。

于 2009-04-19T20:17:39.673 に答える
4

Mersenne_twisterは非常に単純であるだけでなく、非常に強力です。

リンクのコードを参照してください。

ただし、GPLライセンスを使用できる場合は、GNU Scientific Library(GSL)固有のチェックRandom-Number-Generator-Examples from Random-Number-Generation part ofthemanualを使用してください。

単純な一様乱数から他の分布まで、そこには多くのものがあります。

于 2009-04-19T20:24:53.730 に答える
3

線形合同法を見てください。私の劣った数学の知識があっても、それらは非常に簡単に実装できます。

私は元の質問を誤解したようです、あなたはあなた自身の発電機を転がしたいと思っていました(宿題、楽しみなどのために)

于 2009-04-19T20:16:30.783 に答える
3

Cに組み込まれている乱数ジェネレーターを使用して、次のような0〜3万の整数を取得できます。

`srand(time(NULL));
    int x = rand(); `

整数の代わりに10進数を取得するには、除算を行う必要があります。

于 2009-04-19T20:19:36.363 に答える