计算整数n的所有因数的和。
输入:
输入包括一行,包含一个整数n。(n <= 10^12)
输出:
输出包括一行,包含一个整数,表示n的所有因数的和。
输入样例1:
10
输出样例1:
18
输入样例2:
100
输出样例2:
217
用时/内存:
1000MS/100MB
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long n;
cin >> n;
long long sum = 0;
for(int i=1;i<= sqrt(n);i++)
{
if(n%i==0)
{
long long yinshu1=i,yinshu2=n/i;
if(yinshu1!=yinshu2)
{
sum+=yinshu1+yinshu2;
}
else
{
sum+=yinshu2;
}
}
}
cout << sum;
return 0;
}