作业帮 > 综合 > 作业

C语言:编写两个函数:函数factor(n)用来判断n是否是完数,函数PriFac(n)用来显示完数n的所有因子,在主

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/03 18:54:25
C语言:编写两个函数:函数factor(n)用来判断n是否是完数,函数PriFac(n)用来显示完数n的所有因子,在主
编写两个函数:函数factor(n)用来判断n是否是完数,函数PriFac(n)用来显示完数n的所有因子,在主函数中调用这两个函数,显示1~30000间的所有完数.(所谓完数就是它所有因子的和等于其自身自然数,如6=1+2+3,6就是一个完数)
#include "stdio.h"
bool factor(int n)
{
    int i;
    int sum=0;
    for(i=1;i<=n/2;i++)
        if(n%i==0)
            sum+=i;
     if(sum==n)
         return true;
     else
         return false;
}
void PriFac(int n)
{
 int i;
 int sum=0;
 if(factor(n))
 {
  printf("%d=",n);
  for(i=1;i<=n/2;i++)
   if(n%i==0)
   {
    sum+=i;
    if(sum==n)
     printf("%d\n",i);
    else
        printf("%d+",i);
   }
 }
}
int main()
{
 int i;
 for(i=1;i<=30000;i++)
  PriFac(i);
}
结果:

再问: 确定是C?我编译有错呢
再答: 确定是c,下面是运行结果。 不过有可能你的IDE不支持bool bool factor(int n) { int i; int sum=0; for(i=1;i