10 怪数
作者: Turbo时间限制: 1S章节: 循环
问题描述 :
寻找怪数:有一种奇怪的自然数,它的比其本身小的所有因子之和等于它本身,例如:6=1+2+3,其中1、2、3都是6的因子,编程找出整数N之内的所有怪数。
输入说明 :
输入一个整数N(10<=N≤10000),在行首和行尾没有多余的空格。
输出说明 :
输出N之内(<=N)的所有怪数,每一行输出一个整数。(注:若N中有3个怪数,你则需要输出三行,每行一个怪数。)所有数据前后没有多余的空格,中间也没有多余的空行。
输入范例 :
28
输出范例 :
6
28
解答思路:
无
AC代码`
#include <stdio.h>
#include <math.h>
int guai(int n)
{
int sum=0;
for(int i = 1;i < n;i++)
{
if(n%i==0)
{
sum+=i;
}
}
if(sum==n)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
if(guai(i))
{
printf("%d\n",i);
}
}
}