Cómo escribir un programa en C que tome como entrada un número entero positivo n y genere todos los complementos entre 2 y n.
La implementación del lenguaje C es la siguiente: #include
void?main()
{
int ?i, j,k,n;
scanf("%d",&n);?//Ingrese un número entero positivo n
for(i=2;i<= n;i++ )
{
k=0;
for(j=1;j<=i-1;j++)
if (i%j==0)?k+=j;
if(k==i)?printf ("%d\n",i);
//Determina si la suma de todos los factores verdaderos de i es igual a i. Si es así, genera i.
}
}
.Nota: Se recomienda que el valor de n sea inferior a 10.000; de lo contrario, el programa tardará más en ejecutarse.
Ampliación del conocimiento: Los números perfectos generalmente se refieren a números completos. Si la suma de todos los factores reales de un número natural (es decir, números aproximados distintos de él mismo) es igual a este número, entonces el número es un. número perfecto, como por ejemplo: 6 tiene factores reales 1, 2, 3, 6=1+2+3, por lo que 6 es un número perfecto.