- Description
自然数中,完数寥若晨星,请在从1到某个整数范围中打印出所有的完数来。所谓“完数”是指一个数恰好等于它的所有不同因子之和。例如,6是完数,因为6=1+2+3。而24不是完数,因为24≠1+2+3+4+6+8+12=36。
- Input
输入数据中含有一些整数n(1<n<10000)。
- Output
对于每个整数n,输出所有不大于n的完数。每个整数n的输出由n引导,跟上冒号,然后是由空格开道的一个个完数,每个n的完数列表应占独立的一行。
- Sample Input
100
5000
- Sample Output
100: 6 28
5000: 6 28 496
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d:",n);
if(n<6)
printf("\n");
if(n>=6&&n<28)
printf(" 6\n");
if(n>=28&&n<496)
printf(" 6 28\n");
if(n>=496&&n<8128)
printf(" 6 28 496\n");
if(n>=8128)
printf(" 6 28 496 8128\n");
}
return 0;
}