2017-11-25 23 views
-1

私は5年生のためのFlashcardプログラムを作って、数学のスキルを実践しています。彼らはプログラムの分割部分に到達するたびに、均等に割り切れる数を生成しません。私はそうのような2つの数値を生成した:C++の特定の範囲内でランダムに均等に割り切れる数を生成する?

int divisor_one = 1+rand()%5 * 2; 
    int divisor_two = 1+rand()%5 * 2; 

が、私は2を乗じて思ったが、それだけでも、数字を与えますが、私は間違っていました。以下に示すように、5を生成します。

******************************** 
      Division Flashcards 
    ******************************** 
        3 
        5 
       _____ 

明らかに、これらの2つの数値は均等に割り切れません。ランダムに生成するにはの数が均等割りでありますか?

+5

乱数に2を掛けた後、1を加えたようです。 '(1 + rand()%5)* 2;'はうまくいくかもしれません。 –

+0

これは、偶数だけを生成するようにしますが、それらを均等に**割り切れるようにしません**。 –

+0

>> >>しかし、それはそれらを均等に割り切れるものにしません。 –

答えて

6

は、ここで私が考えていたものです:

int divisor_one = 1+rand()%5 * 2; 
int result = 1+rand()%5 * 2; 
int divsor_two = divisor_one * result; 

その方法は、あなたが結果は常に要因があるものは何でもでも、製品であることを確認してください。

関連する問題