2016-04-08 7 views
0

最近、アルゴリズム上の問題が発生しましたが、その終わりを得ることはできません。 M N + N(N-1)/ 2には、以下のような除数の数が最小になるように、負の整数Mを選択する必要があります。 1およびNを含む。 誰かがこの問題を解決するために正しい方向に向けることができますか? ありがとうございます。間隔内の整数の除数の数を最小にする

+0

私は投票していますそれは[maths](http://math.stackexchange.com/)の質問であるため、この質問を話題として閉じてください。またはおそらく[compsci](http://cs.stackexchange.com/)。しかし、プログラミングの問題ではありません。 –

答えて

5

Nより大きい素数Pを見つけます。これを行うにはいくつかの方法があります。

Nが奇数の場合は、M*N + N*(N-1)/2それはNのいずれかの要因で割り切れる必要がありますNの倍数であるが、私たちはM = P - (N-1)/2を選択した場合、その後M*N + N*(N-1)/2 = P*N、それは1とNの間に、他の整数で割り切れません

Nが偶数の場合、M*N + N*(N-1)/2はN/2の倍数になります。 N/2の任意の倍数で割り切れるはずですが、M = (P - N + 1)/2(整数である必要があります)を選択した場合はM*N + N*(N-1)/2 = (P - N + 1)*N/2 + (N-1)*N/2 = P*N/2なので、1とNの間の他の整数で割り切れるわけではありません。

関連する問題