题目
给出一个数,求出它的约数的和。
思路
因为约数是两对两对出现的,所以我们可以只枚举到sqrt(n),每次加上i和n/i就好了。
代码
#include<cstdio>
#include<cmath>
int I,ans;
int main()
{
scanf("%d",&I);
for (int i=1;i<=sqrt(I);i++)
if (I%i==0) ans+=i+I/i;
printf("%d",ans);
}
给出一个数,求出它的约数的和。
因为约数是两对两对出现的,所以我们可以只枚举到sqrt(n),每次加上i和n/i就好了。
#include<cstdio>
#include<cmath>
int I,ans;
int main()
{
scanf("%d",&I);
for (int i=1;i<=sqrt(I);i++)
if (I%i==0) ans+=i+I/i;
printf("%d",ans);
}