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

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

Desconectado NiuWeb

Obtener números primos.
« 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:


BA: RTFM and STFW

Mi web



 
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
Re:Obtener números primos.
« 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

  • Okupa
  • *
  • Puntos: 2050
  • Mensajes: 1.763
  • Agradecido: 15 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Obtener números primos.
« 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: 188
  • Mensajes: 507
  • Agradecido: 1 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Re:Obtener números primos.
« 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

  • Okupa
  • *
  • Puntos: 2050
  • Mensajes: 1.763
  • Agradecido: 15 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Obtener números primos.
« 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

Re:Obtener números primos.
« 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

  • Okupa
  • *
  • Puntos: 2050
  • Mensajes: 1.763
  • Agradecido: 15 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Obtener números primos.
« 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

Re:Obtener números primos.
« Respuesta #7 en: Ayer a las 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