多くのプログラミングの問題 (Project Euler の問題など) では、答えを 1,000,000,007 で割った余りとして答えを報告するよう求められます。
他の番号がないのはなぜですか?
編集: 2 年後、私が知っていることは次のとおりです: 数は大きな素数であり、そのような質問に対する答えは非常に大きいため、代わりに剰余を報告するのが理にかなっています (ネイティブ データ型では数値が大きすぎる可能性があるため)。扱う)。
テレパシーを演じさせてください。1000...7 は素数で、1000000007 は 32 ビット整数に収まる最大のものです。素数は (素数による除算の剰余を見つけることによって) ハッシュを計算するために使用されるため、1000000007 は 32 ビット ハッシュの計算に適しています。