私は、B。Stoustrupの本、「プログラミング-C ++を使用した原則と実践」、第8章の演習8と9を解こうとしています。
演習8randint()
では、範囲内のランダムな整数を生成するという名前の関数を記述します[0;MAXINT]
。MAXINTは何であると思われますか?intに格納できる数を増やすことはできますか?関数への引数ですか?著者はそれを述べていません。与えられた唯一のヒントは、「The Art of Programming、Knuth、vol.2」です。その本は、 4つのパラメーターを含む線形合同法と呼ばれるアルゴリズムについて説明しています(リンクされたウィキペディアの記事を参照)。
演習9では、randint(int a, int b)
演習8の関数を使用して、範囲内のランダムな整数を生成します[a;b]
。
これで、4つの引数を使用して、線形合同法を実装する単一の関数を作成できましたが、それは作成者が望んでいることではありません。私は彼が何を望んでいるのかを理解しようとしていて、誰かがこれらの演習を解決したかどうか疑問に思っています。残念ながら、作者のWebサイトにはこれらの演習に対する解決策はありません。
あなたの提案をありがとう。