Cómo calcular números perfectos mediante programación
Dos errores:
for(I = 2;i<=20000;i++)
{
a = 0;
for( b = 1; b & lt= I-1; b++)
{
Si (i%b==0)
{
a+= b;
// Elimine el juicio original aquí; de lo contrario, solo la mitad de los factores pueden juzgarse y calificarse para acumular num, como n = 24, 1 + 2 + 3 + 4 +6+8=24, la condición se cumple en este momento, num++ pero todavía hay un factor de 12 que no se ha agregado a A, por lo que hay un error.
}
}
si (a==i)
{
núm++;
}
if(num==n){
printf("%d\n ",I);
Romper; Agregue salida aquí; de lo contrario, por ejemplo, si el primer número perfecto se imprime como 6, satisface num=n=1 hasta que se encuentre el segundo número perfecto 28, por lo que generará 7-27;
}
}
Devuelve 0;
}