06 | sqrt应用-求因子和
题目描述
已知一个正整数N(20 <= N <= 800000000),请你编写程序求出该数的全部因子(不包括1和n)的和。
输入
一个正整数n。
输出
一个整数代表n的因子和。
样例
输入复制
24
输出复制
35
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,s=0;
cin>>n;
//循环n的尹子范围2-sqrt(n),成对求解n的尹子
for(i=2;i<=sqrt(n);i++){
//如果i是n 的尹子
if(n%i==0){
//判断两个因子是否相等
if(i!=n/i){
s=s+i+n/i;
}
else{
s=s+i;
}
}
}
cout<<s<<endl;
getchar();
getchar();
}