i025 - 真因數和 (小 n)
題目描述
題目要求計算一個給定正整數 n 的所有真因數之和。真因數是指除了 n 本身以外的所有因數。
解題思路
此題採用暴力法求解。程式碼遍歷從 1 到 n-1 的所有整數,檢查每個數是否為 n 的因數。如果是,則將其加到總和 ans 中。最後輸出 ans。由於 n 的範圍限制在 65535 以內,暴力法可以有效地解決此問題。
複雜度分析
- 時間複雜度: O(n)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int n,ans;
int main(){
cin >> n;
for(int i=1;i<n;++i){
if(n%i==0)ans+=i;
}
cout << ans;
}