-3

シードを使用せず、パラメーターを取らずに、50 から 100 までの数値の 2 乗を返す関数を作成する必要があります。

固定範囲 (0 ~ 99 など) で乱数を生成する方法を知っています。

   int n;
   n=rand(100);  /* n is random number in range of 0 - 99 */

編集: ちなみに、私は使用rand()し、実行するたびに同じ結果が得られます。私はコンパイラのためにそれを知っています、とにかくそれを変更することはありますか(シードを使用しないことを思い出してください)

どんなアイデアでも大歓迎です!

EDIT 2: OK、すべての要件を満たす方法を見つけました。皆さん、ありがとうございました! Massimilianoは正しいアイデアを教えてくれた最初の人です。

4

2 に答える 2

1

の範囲で乱数を選択し50 to 100ます。次に、その正方形を返します。

int func(){
    int r = random(51); //to choose a random number from 0 to 50.
    r = r + 50; //to scale it to fit form 50 to 100
    return r*r;
}
于 2012-10-14T17:10:23.243 に答える
1

これは間違いなくプログラミングの問題というよりは数学の問題ですが、答えは次の質問にあります。

int n = random(51)+50;
return n*n;
于 2012-10-14T17:00:16.893 に答える