编写子函数判断一个整数是否为完数。
在主函数中输入一个整数n,调用该子函数
判断n是否为完数,如果是输出相应的表达式。
如:n=6,则输出6=1+2+3
#include<stdio.h>
void Print(int num)
{
int tmp=0;//保存所有因子的和
for (int i = 1; i < num; i++)
{
if (num % i == 0)//如果num能被i整除,i就是num的一个因子
{
tmp += i;//所有因子之和
}
}
if(tmp == num){
printf("%d = 1",num);
for (int i = 2; i < num; i++)//循环查找因子
{
if (num % i == 0)//如果是因子就打印
{
printf("+ %d",i);
}
}
printf("\n");
}
}
int main()
{
int n=0;
scanf("%d",&n);
Print(n);//如果是完数就打印
return 0;
}