如何用C语言求一个整数的所有约数之和?

2025-03-11 00:25:37
推荐回答(3个)
回答1:

#include
int main(int argc, char *argv[])
{
int i,a,sum;
while(scanf("%d",&a)!=EOF)
{
printf("%d 的约数有:",a);
sum=0;
for(i=1;i<=a;i++)
if(a%i==0)
sum+=i,printf("%d ,",i);
printf(" 约数和为 %d\n",sum);
}
return 0;
}

回答2:

int x;//你想带进去的整数
int num=0;//所得到的约数之和
int i =2;

while(x>i){
if(x%i == 0 && x/i>=2){
x/=i; num+=i; i=2; continue;
}
i++;
}
num +=x;

return 0;
//差不多就是这个样子·

回答3:

思路:
用a除从1到a/2
判断结果,是约数赋值给数组a[0]
...
...

再求数组a[n]的和