Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Obtener números primos.  (Leído 2101 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NiuWeb

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2825
  • Mensajes: 1.697
  • Agradecido: 141 veces
  • Sexo: Masculino
  • Rock anthem for saving the world.
    • Ver Perfil
en: Septiembre 09, 2017, 06:27:09 pm
Autor: NiuWeb.
Versión de GM: Studio 1.4.
Descripción: Obtiene un número primo en la posición dada.
///prime_number(pos);
var pos = round(argument0);
var con = 0;
var num = 1;
var prm = true;

while(con < pos)
{
    prm = true;
    for(var i = 2; i < num; i++)
    {
        if(num % i == 0)
        {
            prm = false;
            break;
        }
    }
    if(prm) con++;
    num++;
}
return num - 1;
El único argumento es la posición del número primo a obtener.

Ejemplo:
txt = "";
for(var i = 1; i <= 10; i++)
    txt += string(prime_number(i)) + "#";
show_message(txt);
Muestra lo siguiente:

El tiempo era tu aliado, humano, pero te ha abandonado.
Los Forerunners han regresado, esta tumba ahora es tuya.

-Ur-Didacta.


BA:STFW&RTFM
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Zela

  • Habitual
  • *
  • Puntos: 130
  • Mensajes: 63
  • Sexo: Masculino
  • ¡ Dos Cortaditas Y Ya Está !
    • Ver Perfil
Respuesta #1 en: Septiembre 18, 2017, 12:13:25 am
Hola NiuWeb

Como estas?, me gusta la idea que planteas de buscar el enésimo primo :). pues te tengo tres observaciones.

1) El 1 no es primo.
2) Como el único primo par es el 2, podrías recorrer la búsqueda con un i+=2 en vez de i++ saltándote los pares, cuando pos>1.
3) Los divisores de un número n menores a él, son a lo más n/2.

Con el punto 2) y 3) podrías reducir enormemente la ejecución del código.

Saludos  :D.
« última modificación: Septiembre 18, 2017, 12:26:56 am por Zela »

Fracasar no significa un fin sino un comienzo
 


Desconectado kostra

  • Legendario
  • *
  • Puntos: 2436
  • Mensajes: 2.020
  • Agradecido: 86 veces
  • Sexo: Femenino
  • Sé literalmente el sentido de la vida.
    • Ver Perfil
Respuesta #2 en: Septiembre 19, 2017, 06:22:03 pm
Y no hay para numeros sobrinos?, ya que contra más primos más marrimo xD

okno, vengo a decirte (oooooooooooooootra vez...) que molaría mucho que pusieses ejemplos sobre PARA QUÉ se utilizaría, y no me refiero a que "2+2" se utiliza pra sumar 2 más 2, sino poner un ejemplo de un mercado con manzanas, por ejemplo, algo aplicable a crear un juego, una parte de ejemplo, porque, aunque parezca un idiota, yo no tengo ni idea de para que sirve esto (a parte de para parecer listo Õ.ó )

"ola k ase clickarme o k ase"
la imagen no se quita xD
 


Desconectado knd144

  • Okupa
  • *
  • Puntos: 210
  • Mensajes: 522
  • Agradecido: 3 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Respuesta #3 en: Septiembre 22, 2017, 04:39:53 pm
Me parece interesante que implementes lo que dice Zela, podría reducir el procesamiento casi un 75% :o

Kostra, es que el uso que le des (Si le das alguno) depende de tu juego y tu creatividad; el recurso ahí está para ser utilizado si se llega a necesitar un caso. Nunca veo que los manuales de lenguajes de programación pongan un ejemplo de caso de uso para cada función que se nombra; el si llega a ser útil o no depende del proyecto y del programador. Pero mira, si quieres alguna respuesta parcial, puedes usar ese algoritmo para generar  claves de seguridad basadas en número primos...




Rincon knd144
-Proyecto Aquilesvania 60%
 


Desconectado kostra

  • Legendario
  • *
  • Puntos: 2436
  • Mensajes: 2.020
  • Agradecido: 86 veces
  • Sexo: Femenino
  • Sé literalmente el sentido de la vida.
    • Ver Perfil
Respuesta #4 en: Octubre 16, 2017, 05:07:59 pm
pues a lomejor necesito obtener numeros primos para "aquella ia que nunca pude terminar porque no se me ocurrió que se podia obteniendo  x numeros primos...". Y si he visto alguna vez algun manual de programacion de varios lenguajes que ponen ejemplos "para tontos" :B

"ola k ase clickarme o k ase"
la imagen no se quita xD
 


Desconectado brunoxzx

Respuesta #5 en: Diciembre 07, 2017, 09:47:43 am
pues a lomejor necesito obtener numeros primos para "aquella ia que nunca pude terminar porque no se me ocurrió que se podia obteniendo  x numeros primos...". Y si he visto alguna vez algun manual de programacion de varios lenguajes que ponen ejemplos "para tontos" :B
Es un ejercicio kostra, no sirve de nada sacar números primos en un videojuego, en tal caso mejor te guardas una lista con miles y la cargas, la obtención de primos es reee---lenta y ya hay computadoras que se dedican a esto.

Pero bueno a mi me encantan los números primos, hace años hice también un programa similar, creo que es interesante seguir el ejercicio y ver que tan optima se puede llegar a hacer la obtención de un número primo.

 


Desconectado kostra

  • Legendario
  • *
  • Puntos: 2436
  • Mensajes: 2.020
  • Agradecido: 86 veces
  • Sexo: Femenino
  • Sé literalmente el sentido de la vida.
    • Ver Perfil
Respuesta #6 en: Diciembre 12, 2017, 07:16:01 pm
osea, que no sirve para nada :/

"ola k ase clickarme o k ase"
la imagen no se quita xD
 


Desconectado pixel king

Respuesta #7 en: Diciembre 13, 2017, 09:44:13 pm
los números primos son importantes en el área de la criptografía pues muchos utilizan cuerpos finitos del tipo Zp, por ejemplo whatsapp que usa el primo 2^255-19, y me imagino que también para otros campos pero eso es lo que yo he aprendido en la uni de momento  XD

PD: Zp explicado de manera breve es un cuerpo finito de enteros {0,1,...,p-1} donde p es un número primo

 
Los siguientes usuarios dieron las gracias a este tema: kostra


Desconectado kostra

  • Legendario
  • *
  • Puntos: 2436
  • Mensajes: 2.020
  • Agradecido: 86 veces
  • Sexo: Femenino
  • Sé literalmente el sentido de la vida.
    • Ver Perfil
Respuesta #8 en: Julio 24, 2018, 10:30:40 pm
disculpen mi ignorancia, despues de un tiempo, y moviendome por ciertos videos informativos e interesantes, me he dado cuenta de la enorme importancia de los primos, mil disculpas xDD

peldonenmé :B

"ola k ase clickarme o k ase"
la imagen no se quita xD
 
Los siguientes usuarios dieron las gracias a este tema: brunoxzx