真因數是指一個自然數除自身以外的因數。如 6 的因數有「1、2、3、6」,真因數是「1、2、3」。
給你一個正整數,求它的真因數和。
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入只有一行,含有一個正整數 N (1 ≤ N ≤ 65535)。 | 輸出 N 的真因數和。 |
6 | 6 |
12 | 16 |
解題思路
使用 For迴圈 從 1 跑到 N – 1 (因為不能包含 N 自己),因為數字不大所以可以直接一個一個判斷所有 N 的因數並將所有因數加在一起,最後輸出因數和即可。
範例程式碼-ZeroJudge I025: 真因數和 (小 n)
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
int ans = 0;
for (int i = 1; i<N; i++)
{
if (N % i == 0) ans += i;
}
cout << ans << "\n";
}
//Z.O.J. I025
//Dr. SeanXD