编写程序,输入一个整数n,寻找大于n的那个最小的完数。
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
/*
完数:所有的因子相加等于这个数本身
6=1+2+3
*/
int i,j,a,b,c;
int n;
printf("请输入n:\n");
scanf("%d",&n);
for(i=n;i>=6;i--)
{
a=0;
//求i对应的所有的因子
for(j=2;j<=i;j++)
{
if(i%j==0)
{
a+=i/j;
}
}
if(i==a){
//该循环语句的作用就是打印结果
for(j=2;j<=i;j++)
{
if(i%j==0)
{
if(i==j){
printf("%d",i/j);
}else{
printf("%d+",i/j);
}
}
}
printf("=%d\n",i);
}
}
printf("最小完数=%d",a);
}
完数就是所有因子之和等于这个数的数吧