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

calcular los 2 primeros numeros narcisitas

Estas en el tema de calcular los 2 primeros numeros narcisitas en el foro de C/C++ en Foros del Web. pues eso, me piden que calcule los 2 primeros números narcisistas mayores de 2 cifras. un numero narcisistas es, por ejemplo 153=1^3 + 5^3 + ...
  #1 (permalink)  
Antiguo 23/10/2011, 12:42
Avatar de ajmed45  
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 1
calcular los 2 primeros numeros narcisitas

pues eso, me piden que calcule los 2 primeros números narcisistas mayores de 2 cifras.

un numero narcisistas es, por ejemplo
153=1^3 + 5^3 + 3^3 y la suma de estas potencias da 153.

entonces no se como plantearmelo.

lo he intentado hacer con métodos, uno para que compruebe mediante un booleano si es narcisista o no, y otro para generar numeros.

pero me estoy volviendo loco y no se como planteármelo.

Gracias, un saludo.
  #2 (permalink)  
Antiguo 23/10/2011, 14:08
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: calcular los 2 primeros numeros narcisitas

Hace un comprobador de que si un numero es narcisista. Luego haces un bucle hasta que encuentres dos de ellos, como haces esto??

Por cada iteracion sumas uno a un iterador, compruebas que ese iterador es narcisista, si lo es le sumas uno a encontrado, sino siguis el ciclo de nuevo. Cuando encontrados es igual a dos, ya esta!!

La ottra seria generarlos pero no se bien que tipo de numero es.
  #3 (permalink)  
Antiguo 23/10/2011, 22:39
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 6 meses
Puntos: 7
Respuesta: calcular los 2 primeros numeros narcisitas

Para calcular los 2 primeros números narcisistas mayores de 2 cifras, me imagino que hay que comprobar desde el 100. Aquí el código en C. Saludos...

Código C:
Ver original
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main() {
  5.    int num,centena,decena,unidad,temp,prueba,cont;
  6.    cont=0;
  7.    num=100;
  8.    do{
  9.       //obtener el digito mas a la izquierda
  10.       centena = num / 100;
  11.      //obtener los dos digitos mas a la derecha
  12.       temp = num % 100;
  13.       //obtener el digito medio
  14.       decena = temp / 10;
  15.       //obtener el digito mas a la derecha
  16.       unidad = temp % 10;
  17.       //verificar
  18.       prueba = unidad*unidad*unidad+decena*decena*decena+centena*centena*centena;
  19.       if (prueba==num){
  20.          printf("%d\n", num);
  21.          cont++;
  22.       }
  23.       num++;
  24.      }while(cont<2);
  25.    getche();
  26.    return 0;
  27. }

Etiquetas: numeros, primeros, calculadora
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 22:58.