トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

Problem347 二つの素数で割り切れる最大の整数

問題

素数2と3の両方のみで割り切れる最大の整数 <= 100 は 96 である.
96 = 32*3 = 2の5乗 * 3 である.

2つの異なる素数 P と Q に対し,
P と Q の両方のみで割り切れる最大の正の整数 <= N を M(P,Q,N) とする.
そのような正の整数が存在しなければ M(P,Q,N) = 0 である.

例えば, M(2,3,100) = 96 である.

M(3,5,100) = 75 であって 90 ではない.
90 は 2 と 3 と 5 で割り切れるためである.

また M(2,73,100) = 0 である.
2と73の両方で割り切れる正の整数 <= 100 は存在しないためである.

全ての M(P,Q,N) の和を S(N) とする. S(100) = 2262 である.

S(1000万) を求めよ.


ソース



実行結果



解説