Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Pentix05 en 1 Noviembre 2021, 20:53 PM

Título: Duda de un programa
Publicado por: Pentix05 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 (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
int num, omirp, aux2, a, b;
double aux, numIm;
a=1;
b=2;
while(b<=100)
{
num=a;
numIm=0;
for(int i=1;num>0;i++)
{
aux=num%10;
num=num/10;
numIm=numIm+aux/10;
numIm=numIm*10;
}
omirp=0;
aux2=numIm;
for(int j=2;j<numIm;j++)
{
if(aux2%j==0)
{
omirp=1;
}
}
if(omirp==0)
{
cout<<endl<<b<<" "<<a<<"/"<<numIm;
b++;
}
a++;
}
return 0;
}


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
Título: Re: Duda de un programa
Publicado por: K-YreX 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:

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: