2012-01-09 AOJ_2101 AOJ 数学 完全数か不足数か過剰数かを判定する問題。約数の和をどうやって求めるかが重要。 n=100000000だからすべての数を調べるのは困難。調べたら、 √n = 10000 回のループで できるそうです。 1<=i<=√n の範囲で if(n % i == 0){ S += i + n % i; if(i == n % i) S -= i; } これでSは自分も含めた約数の和になっている。