std-functionなしで乱数に助けが必要です。どうやってやるの?私は、私のようなランダム機能でそれを行うことができることを知っている:1-35の間の数字をランダム化します標準機能を持たないランダム化数字
v2 = rand() % 36 + 1;
が、rand()
機能「(STDLIB.H)」STDに属します。
std-functionなしで乱数に助けが必要です。どうやってやるの?私は、私のようなランダム機能でそれを行うことができることを知っている:1-35の間の数字をランダム化します標準機能を持たないランダム化数字
v2 = rand() % 36 + 1;
が、rand()
機能「(STDLIB.H)」STDに属します。
私はstackoverflowの上で同様の問題が見つかりました:ここでは、time
代わりにrand()
ため<stdlib.h>
ため<time.h>
を使用している
#include<stdio.h>
#include<time.h>
int main()
{
int num = 36;
time_t sec;
sec=time(NULL);
for(;;)
{
sec=sec%3600;
if(num>=sec)
{
printf("%ld\n",sec);
break;
}
sec=sec%num;
}
return 0;
}
:私は0から35までと最終的なソリューションの間で発生させるために少し変更を加えるHow do I generate random numbers without rand() function?
を0を答えにしたくない場合は、追加することができます
while(sec==0)
{
sec=time(NULL);
}
この文の前
:sec=sec%3600;
あなたは、ハードウェア乱数生成器を使用することができます
#include <iostream>
#include "immintrin.h"
int main()
{
unsigned int val;
_rdrand32_step(&val);
std::cout << val;
}
をあなたが標準ライブラリを使用できない理由* *説明できますか?それは非常に恣意的な(そして愚かな)制限のように見えます。 – Angew
インターネット上の擬似乱数ジェネレータを探して実装します。 – MikeMB
これは、1と** 36 **の間の整数を生成します。 – rici