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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa que muestre los numeros OMIRP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa que muestre los numeros OMIRP  (Leído 10,530 veces)
nigarcia

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Programa que muestre los numeros OMIRP
« en: 17 Julio 2011, 03:57 am »

Necesito crear un programa en C o en Java que muestre los numeros OMIRP que son los numeros primos reversibles, como por ejemplo el 7 y el 17...

Es urgente y agradeceria cualquier ayuda posible.

GRACIAS!!!


En línea

ralymontes

Desconectado Desconectado

Mensajes: 47



Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #1 en: 17 Julio 2011, 04:08 am »

Hola:

Aqui nadie le ahce la tarea a nadie, lee las reglas.

Intentalo tú y presenta tu avance y ya vemos en qué andas bien y en qué andas mal.

Saludos, raly.


En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #2 en: 17 Julio 2011, 14:20 pm »

Yo en java lo realicé y no era muy complicado. En el caso que yo lo hice de primeras te decía un número y entonces te pedía decir cuantos había hasta llegar a ese número.

Hazte una función que te compruebe si un número es OMIRP y para no tener que hacer la comprobación dos veces (es decir, sí un número es OMIRP su reverso también lo es, por tanto cuando llegues al reverso tendrías que volver a comprobar sí es) lleva un array de booleanos por ejemplo. Sí un número es OMIRP marcas a true su posición y la de su reverso. A la hora de comprobar si un número es OMIRP primero miras en dicho array, si está a true no haces nada, si está a false compruebas si lo es.

Saludos y ya sabes, hazlo tu que aquí no se escriben los códigos a los demás.
En línea

_niu

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #3 en: 17 Julio 2011, 15:28 pm »

va contra las reglas hacerle el ejercicio a alguien?  :P ... yo tambien toy aprendiendo el c++ asique espero que te funque.
Si lo queres en java es casi igual, en ves de bool usas boolean, y en salida System.out.println("lo que queres q imprima"); sacas el include y el using namespace. jejejejeje
Los sabios diran si estoy errado.

Espero que leas lo que hice almenos  >:D ....
Código
  1. //============================================================================
  2. // Necesito crear un programa en C o en Java que muestre los numeros OMIRP que
  3. // son los numeros primos reversibles,como por ejemplo el 7 y el 17...
  4. //============================================================================
  5.  
  6. //by niu
  7.  
  8. #include <iostream>
  9. using namespace std; //Para usar los cout y cin
  10.  
  11. bool omirp (int numero) {
  12. if (numero==2 || numero==3 || (numero%2!=0 && numero%3!=0)){ //Si el numero no es par ni impar... supongo q esto es omirp
  13. if (numero>9){
  14. unsigned short int m_numero [1]; // Considero hasta 99, o como los doy vulta?
  15. /* ejemplo, de lo que sigue... tengo un numero 17
  16. * m_numero[0]=7
  17. * m_numero[1]=1
  18. * numero=70+1  // 7*10+1
  19. */
  20. m_numero[0]=numero%10;
  21. m_numero[1]=(numero-m_numero[0])/10;
  22. numero=m_numero[0]*10+m_numero[1];
  23. }
  24. return true;
  25. }else return false;
  26.  
  27. }
  28.  
  29. int main (){
  30. for (int i=0;i<101;i++){
  31. if (omirp(i))cout<<i<<" ";
  32. }
  33. return 0;
  34. }
  35.  

mmm nada q decir, saludos gente.
En línea

std::cout<<Mi wiki personal<<"Nada es inalcanzable\n";
pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #4 en: 17 Julio 2011, 15:55 pm »

Por rompebolas nomas, "//Si el numero no es par ni impar... supongo q esto es omirp" si pasa esto, en los enteros, ese numero no existe...

Ademas... si no es divisible por 2, y no es divisible por 3, puede ser divisible por 5 y no ser primo, entonces no ser OMIRP.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Programa que muestre los numeros OMIRP
« Respuesta #5 en: 17 Julio 2011, 18:47 pm »

Yo haría primero una pequeña comprobación para ver si n es par, si es par retorno 0, inmediatamente. Pero primero hay que hacer una función para comprobar si n es primo, si es primo proceder con la siguiente comprobación.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int is_prime(double v)
  5. {
  6.    if(v == 1)
  7.    return 0;
  8.    double i;
  9.  
  10.    for(i = (unsigned) sqrt(v); i > 1; i--)
  11.        if(!fmod(v, i)) return 0;
  12.  
  13.     return 1;
  14. }
  15.  
  16. int isomirp(int n)
  17. {
  18.    if(is_prime(n) == 0)
  19.    return 0;
  20.  
  21.    char *p = NULL;
  22.    unsigned i = 0;
  23.    for(; n > 0; p = realloc(p, ++i), p[i - 1] = (n % 10) + 48, n /= 10);
  24.    if(is_prime(atoi(p)))
  25.    {
  26.        free(p);
  27.        return 1;
  28.    }
  29.    else
  30.    {
  31.        free(p);
  32.        return 0;
  33.    }
  34. }
  35.  
  36. int main(void)
  37. {
  38.    unsigned i;
  39.    for(i = 1; i <= 10000; i++)
  40.    if(isomirp(i))
  41.    printf("%d\n", i);
  42.  
  43. return EXIT_SUCCESS;
  44. }
  45.  
« Última modificación: 17 Julio 2011, 19:20 pm por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
_niu

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #6 en: 17 Julio 2011, 18:58 pm »

Por rompebolas nomas, "//Si el numero no es par ni impar... supongo q esto es omirp" si pasa esto, en los enteros, ese numero no existe...

Ademas... si no es divisible por 2, y no es divisible por 3, puede ser divisible por 5 y no ser primo, entonces no ser OMIRP.

jajajaja.... me adueñe del ejercicio ahora. Entonces no tiene q ser divisible por 2 ni por 3, ni por 5,  y ya ta? Ahora me fijo en la wiki como se determina bien si es o no omirp

Tenes razon el comentario ese que hice... jajajaja la flashee

En línea

std::cout<<Mi wiki personal<<"Nada es inalcanzable\n";
pucheto

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #7 en: 17 Julio 2011, 19:02 pm »

jajajaja.... me adueñe del ejercicio ahora. Entonces no tiene q ser divisible por 2 ni por 3, ni por 5,  y ya ta? Ahora me fijo en la wiki como se determina bien si es o no omirp

Tenes razon el comentario ese que hice... jajajaja la flashee
Un numero primo es un numero que es divisible por 1 y por si mismo...
En línea

sauce19

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #8 en: 18 Julio 2011, 00:53 am »

hola! yo tambien necesito mostrar los numeros omirp en c++, esto es lo q tngo hasta ahora, si alguien sabe q m hac falta o q stoy haciendo mal, seria de mucha ayuda ...

#include<conio.h>
#include<stdio.h>
void  main(){
clrscr();
int c,omirp;
int i=0; /*un contador para los numeros encontrados*/
int n=2; /*numeros primos*/
int q=1; /*numeros por los que se divide n*/
printf("escribir la cantidad de numeros primos q quieres ver:");
scanf("%d",&c);
printf("\n\n");

while (i<c){ /*cantidad de numeros a imprimir*/
if (n>=q){
q++;
if (((n%q)==0)&&(n!=q)){ /*esto es si no es primo*/
n++;
q=1;}
if(((n%q)==0) && (n==q)){ /*este es si es primo*/
printf("%d,", n);
n++;
i++;
q=1;
}}

else n++;}

printf("\n");
printf("los numeros omirp son:\n");
if((n=='13')||(n=='17')||(n=='37')||(n=='79')){
printf("%d",n);
}


getche();}
En línea

PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: Programa que muestre los numeros OMIRP
« Respuesta #9 en: 18 Julio 2011, 04:58 am »

hace una funcion que reciba un numero y devuelva un bool dependiendo si es primo o no
dalo vuelta y volveselo a dar a esa funcion, si las dos veces dio true es porque es omirp
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines