Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Imprimir todos los números perfectos comprendidos entre 1 y 10,000

Estas en el tema de Imprimir todos los números perfectos comprendidos entre 1 y 10,000 en el foro de C/C++ en Foros del Web. Que tal amigos, Pues sí, Lo del título es mi gran problema, Soy estudiante de Ingeniería Industrial y estoy llevando una materia llamada Algoritmo Computacional, ...
  #1 (permalink)  
Antiguo 25/07/2010, 21:48
Avatar de Dann1  
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Imprimir todos los números perfectos comprendidos entre 1 y 10,000

Que tal amigos,

Pues sí,

Lo del título es mi gran problema,

Soy estudiante de Ingeniería Industrial y estoy llevando una materia llamada Algoritmo Computacional,

Me están llevando a procesar los flujogramas a través de la programación en QB64,

Y quisiera ver si me pueden dar una mano por favor,

Tratando de comprender logré hacer una compilación que me imprime si es Perfecto o No, un número cualquiera, pero no logro entender como hacer para que se ejecute y me imprima los perfectos comprendidos entre 1 y 10,000,

Me pueden dar una manor por favor?

Aquí el detalle del que Yo hice, el cuál determina si un Número es perfecto o no, y lo imprime, lo que no comprendo es donde debo colocar el contador para que lleve la secuencia de acumulación de todos los perfectos comprendidos entre 1 y 10,000 y los Imprima,

Chékenlo:

Código:
CLS
Z = 1
H = 0
R = 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
ELSE
    PRINT "EL NUMERO NO ES PERFECTO"
END IF
END

Favor de darme una mano,

Gracias!


Saludos cordiales.
  #2 (permalink)  
Antiguo 25/07/2010, 22:47
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Imprimir todos los números perfectos comprendidos entre 1 y 10,000

justo debajo de donde dice
Código :
Ver original
  1. PRINT "EL NUMERO ES PERFECTO:", N
  #3 (permalink)  
Antiguo 25/07/2010, 23:21
Avatar de Dann1  
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Respuesta: Imprimir todos los números perfectos comprendidos entre 1 y 10,000

Cita:
Iniciado por AlanChavez Ver Mensaje
justo debajo de donde dice
Código :
Ver original
  1. PRINT "EL NUMERO ES PERFECTO:", N
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.
  #4 (permalink)  
Antiguo 26/07/2010, 08:16
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Imprimir todos los números perfectos comprendidos entre 1 y 10,000

Cita:
Iniciado por Dann1 Ver Mensaje
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 original
  1. PRINT "EL NUMERO ES PERFECTO:", N
  2.     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 original
  1. CLS
  2. Z = 1
  3. H = 0
  4. R = 0
  5. C = 0
  6. INPUT "INGRESE UN VALOR:", N
  7. DO
  8.     IF N MOD Z = 0 THEN
  9.         H = H + Z
  10.     END IF
  11.     Z = Z + 1
  12. LOOP WHILE Z < N
  13. IF N = H AND N = Z THEN
  14.     PRINT "EL NUMERO ES PERFECTO:", N
  15.     C=C+1
  16. ELSE
  17.     PRINT "EL NUMERO NO ES PERFECTO"
  18. END IF
  19.  
  20. PRINT "SE HAN ENCONTRADO ", C
  21. PRINT " NUMEROS PERFECTOS"
  22. 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.
  #5 (permalink)  
Antiguo 26/07/2010, 10:21
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 16 años
Puntos: 3
Respuesta: Imprimir todos los números perfectos comprendidos entre 1 y 10,000

esto es un foro de c/c++ y eso no se que es, parece pascal. yo te puedo ayudar pero con un codigo en c++
__________________
si tienes entre 18 y 20 años... entonces tienes 19 años xD
  #6 (permalink)  
Antiguo 26/07/2010, 10:27
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 13 años, 10 meses
Puntos: 95
Respuesta: Imprimir todos los números perfectos comprendidos entre 1 y 10,000

Cita:
Iniciado por Tikitios Ver Mensaje
esto es un foro de c/c++ y eso no se que es, parece pascal. yo te puedo ayudar pero con un codigo en c++
Creo que preguntas como estas, realmente resulta indiferente si conoces o desconoces el lenguaje. El hace una pregunta de donde puede poner un contador de cuantos números perfectos ha encontrado su programa, asi que la lógica es la misma en JavaScript, Java, C, C++, Pascal, etc.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:30.