Autor: NiuWeb.
Versión de GM: Studio 1.4.
Descripción: Obtiene un número primo en la posición dada.
[gml]
///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;
[/gml]
El único argumento es la posición del número primo a obtener.

Ejemplo:
[gml]
txt = "";
for(var i = 1; i <= 10; i++)
    txt += string(prime_number(i)) + "#";
show_message(txt);
[/gml]
Muestra lo siguiente:
alaberga regué el café.

BA:STFW&RTFM

#1 Septiembre 18, 2017, 12:13:25 AM Ultima modificación: Septiembre 18, 2017, 12:26:56 AM por Zela
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.
Fracasar no significa un fin sino un comienzo

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 Õ.ó )
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

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...

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
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Cita de: kostra 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
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.

osea, que no sirve para nada :/
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

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

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
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]