怎么求一個數所有因數的和?
如果N是數字本身的話:關鍵點: 根號N(記作sqrt(N)).如果M為N的因數且M < sqrt(N), 則N/M為因數且N/M > sqrt(N), 反之亦然.所以, 小于sqrt(N)的因數和大于sqrt(N)的因數一樣多.所以枚舉1~sqrt(N)就行了.這樣最大不過1e8. 由于循環體十分簡潔, C應該能在不到一秒出結果.
怎么求一個數所有因數的和?
如果N是數字本身的話:關鍵點: 根號N(記作sqrt(N)).如果M為N的因數且M < sqrt(N), 則N/M為因數且N/M > sqrt(N), 反之亦然.所以, 小于sqrt(N)的因數和大于sqrt(N)的因數一樣多.所以枚舉1~sqrt(N)就行了.這樣最大不過1e8. 由于循環體十分簡潔, C應該能在不到一秒出結果.