6=1+2+3,1、2、3是6的所有因数,28=1+2+4+7+14,1、2、4、7、14是28的所有因数。我们称6是完数,28也是完数。
一个整数n如果其所有因子(不包含n本身)之和等于n,则称n为完数。 编写程序,输入一个整数n,寻找大于n的那个最小的完数。
例如:
输入
5
输出
6
输入说明:
一个整数n
输出说明:
一个大于整数n,但是离n最近的一个完数
Sample Input
6
Sample Output
28
6=1+2+3,1、2、3是6的所有因数,28=1+2+4+7+14,1、2、4、7、14是28的所有因数。我们称6是完数,28也是完数。
一个整数n如果其所有因子(不包含n本身)之和等于n,则称n为完数。 编写程序,输入一个整数n,寻找大于n的那个最小的完数。
例如:
输入
5
输出
6
输入说明:
一个整数n
输出说明:
一个大于整数n,但是离n最近的一个完数
Sample Input
6
Sample Output
28
#include "stdio.h"
int main()
{
int i,j,a,flag=0;
int n;
scanf("%d",&n);
while(1){
n=n+1;
i=n;
a=0;
for(j=2;j<=i;j++)
{
if(i%j==0)
{
a+=i/j;
}
}
if(a==n){
printf("%d",a);
flag=1;
break;
}
}
}