【Descripción】
Encuentra el número perfecto entre los enteros positivos 2 y n (un número por fila).
Número perfecto: la suma de los factores es igual a su propio número natural, como 6=1+2+3
【ingresar】
Introduzca n (n≤5000) .
【Producción】
Un número por línea, en orden ascendente.
【Muestra de entrada】
7
【Ejemplo de salida】
6
C++:
#include<iostream>
using namespace std;
int judge(int a);
int main()
{
int n,k;
cin>>n;
for(k=2;k<=n;k++)
if(judge(k)==k) //判断该自然数的因子之和是否等于本身
cout<<k<<endl;
return 0;
}
int judge(int a) //该函数用来计算自然数的因子之和
{
int i;
int term=0;
for(i=1;i<=a-1;i++)
if(a%i==0)
term+=i;
return term;
}
lenguaje C:
#include<stdio.h>
int judge(int a);
int main()
{
int n,k;
scanf("%d",&n);
for(k=2;k<=n;k++)
if(judge(k)==k) //判断该自然数的因子之和是否等于本身
printf("%d\n",k);
return 0;
}
int judge(int a) //该函数用来计算自然数的因子之和
{
int i;
int term=0;
for(i=1;i<=a-1;i++)
if(a%i==0)
term+=i;
return term;
}