输出 1 到 100 之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。
#include <stdio.h>
#include <stdlib.h>
int is(int n);
int main()
{
for(int i=1; i<=100; i++)
{
if(is(i))
printf("%d ",i);
}
}
int is(int n)
{
int sum=0;
if(n==1)
return 0;
for(int i=1; i<n; i++)//除数不能为0
{
if(n%i==0)
sum+=i;
}
if(sum==n)
return 1;
else
return 0;
}