elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda de un programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda de un programa  (Leído 1,156 veces)
Pentix05

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda de un programa
« en: 1 Noviembre 2021, 20:53 pm »

Hola buenas estoy ingresando por primera vez en la programacion de c++ y tengo un programa resuelto y bien hecho sobre los cien primeros numeros omirp. Pero hay una parte del codigo que no la entiendo.


Código
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int num, omirp, aux2, a, b;
  6. double aux, numIm;
  7. a=1;
  8. b=2;
  9. while(b<=100)
  10. {
  11. num=a;
  12. numIm=0;
  13. for(int i=1;num>0;i++)
  14. {
  15. aux=num%10;
  16. num=num/10;
  17. numIm=numIm+aux/10;
  18. numIm=numIm*10;
  19. }
  20. omirp=0;
  21. aux2=numIm;
  22. for(int j=2;j<numIm;j++)
  23. {
  24. if(aux2%j==0)
  25. {
  26. omirp=1;
  27. }
  28. }
  29. if(omirp==0)
  30. {
  31. cout<<endl<<b<<" "<<a<<"/"<<numIm;
  32. b++;
  33. }
  34. a++;
  35. }
  36. return 0;
  37. }

El prgrama es este pero no me queda claro como funciona el primer bucle for, podria alguien ayudarme por favor. muchas gracias.

MOD: Etiqueta GeSHi


« Última modificación: 2 Noviembre 2021, 07:52 am por MCKSys Argentina » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 923



Ver Perfil
Re: Duda de un programa
« Respuesta #1 en: 3 Noviembre 2021, 21:15 pm »

Yo diría que tu algoritmo no es correcto.  :silbar: :silbar:
Un número omirp es un número primo no capicúa cuyo palíndromo también es primo. Por ejemplo: 13 - 31 | 17 - 71 | ...

Al ejecutar tu programa el resultado que obtengo es:
Código:
2 1/1
3 2/2
4 3/3
5 5/5
6 7/7
7 10/1
...
Con sólo estos resultados ya podemos ver que:
  • Los números {1, 2, 3, 5 y 7} no son considerados números omirp porque son capicúa (sus palíndromos son ellos mismos).
  • El 10 no es primo (y realmente el 1 tampoco)

Es decir que de todos esos resultados no hay ninguno válido.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda programa en C
Programación C/C++
gorystyle 4 2,334 Último mensaje 10 Mayo 2010, 06:42 am
por nicolasblues86
Duda con programa en vbs
Scripting
serginmatonis 0 1,103 Último mensaje 4 Febrero 2012, 18:49 pm
por serginmatonis
Duda con un programa
Programación C/C++
sheva777 1 833 Último mensaje 18 Octubre 2013, 17:31 pm
por ivancea96
Duda: Programa devolviendo valor a otro programa
Programación C/C++
erest0r 6 2,272 Último mensaje 3 Julio 2015, 01:38 am
por erest0r
Programa C++ Tengo una duda con respecto a este programa. « 1 2 »
Programación C/C++
Estudiante000000 16 2,215 Último mensaje 22 Noviembre 2018, 03:29 am
por Estudiante000000
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines