Cita:
Iniciado por Dann1 Gracias amigo por contestar,
Pero como debo de colocar la sentencia para que se imprimiman todos los acumulados comprendidos entre el 1 y el 10,000??
Por ejem, sería:
PRINT "EL NUMERO ES PERFECTO:", N
N= N TO 4??
Digo lo del 4 porque leí que solo hay cuatro números perfectos entre el 1 y el 10,000
O como debo de ponerlo? Me puedes echar una mano por favor?
Gracias amigo,
Saludos cordiales.
Asi es, solamente existen 4 numeros perfectos entre el 1 y el 10,000.
Debes ponerlo de esta manera:
Código Codigo:
Ver originalPRINT "EL NUMERO ES PERFECTO:", N
C=C+1
Y arriba, declara una variable C, la llame C porque es un
Contador o un Acumulador :P
el código final, quedaría algo asi:
Código Codigo:
Ver originalCLS
Z = 1
H = 0
R = 0
C = 0
INPUT "INGRESE UN VALOR:", N
DO
IF N MOD Z = 0 THEN
H = H + Z
END IF
Z = Z + 1
LOOP WHILE Z < N
IF N = H AND N = Z THEN
PRINT "EL NUMERO ES PERFECTO:", N
C=C+1
ELSE
PRINT "EL NUMERO NO ES PERFECTO"
END IF
PRINT "SE HAN ENCONTRADO ", C
PRINT " NUMEROS PERFECTOS"
END
No se si ese programa compile, desconozco completamente el lenguaje, pero supongo que eso debe funcionar, y los números perfectos ya los imprimiste, al estar imprimiendo N, si sabes declarar arreglos/arrays/vectores en ese lenguaje, entonces puedes almacenar los números perfectos en esos vectores y posteriormente imprimirlos.
En si, la lógica es que una vez que sabes si el número es perfecto, simplemente agregas uno a tu acumulador, de esta manera vas llevando cuentas de cuantos numeros perfectos has encontrado.