C#でプロジェクトオイラーを解く(問題21「友愛数」)




Pocket

どーも、みつおです。

友愛数って授業で習いましたっけ?プロジェクトオイラーをやってて初めて聞いた。

問題

d(n) を n の真の約数の和と定義する. (真の約数とは n 以外の約数のことである. )
もし, d(a) = b かつ d(b) = a (a ≠ b のとき) を満たすとき, a と b は友愛数(親和数)であるという.

例えば, 220 の約数は 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 なので d(220) = 284 である.
また, 284 の約数は 1, 2, 4, 71, 142 なので d(284) = 220 である.

それでは10000未満の友愛数の和を求めよ.

出典:Problem21

解答

 

出力

31626

 




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です