Título: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: juanlulete en 15 Julio 2012, 11:04 am Hola os quería pedir ayuda para un programa de números primos.
Estoy haciendo un programa que comprueba si un número es primo o no y he intentado hacerlo lo mejor posible para que funcione mas rápido. Al código también le añadí una formula que sirve para que si el número es divisible por 3 excepto el tres ya me diga que no es primo y se ahorre tener que hacer lo demás. Código
El programa va muy bien ya que utiliza el método de la raíz cuadrada. Bueno pues lo que quiero hacer es modificar este código para que en vez de comprobar si un número es primo o no te haga una lista en un listbox de todos los números primos desde un mínimo (textbox(min)) hasta un máximo (textbox(max)) pero sin cambiar el método. Y también quería ver si hay alguna función para que coja el último dígito o la ultima letra de un textbox y como se utiliza. Gracias de antemano Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: Yoghurt en 15 Julio 2012, 13:36 pm Hola! bueno, comienzo por decirte que tu algoritmo es solo la primera funcion de una funcion maestra en la que comprueba de forma matemática si es verdaderamente un numero primo.
Bueno, he chekado los links (en orden) pues no sabia demasiado de los numeros primos. ¿Que es un numero Primo? > http://es.wikipedia.org/wiki/N%C3%BAmero_primo AKS "PRIMES in P" algoritmo (el mejor y mas reciente algoritmo) > http://fatphil.org/maths/AKS/ Implementación AKS (en C++) > http://yves.gallot.pagesperso-orange.fr/src/aks.html En la implementación notarás de lo que hablo, es mucho más largo el proceso aunque para numero pequeños estará bien. Este trozo de código lo he pescado desde la implemetación y lo he traducido a Visual Basic 6 (no se como quedaria en Visual Basic 2010): Código
umm.. integrando la funcion isPrime() yo pondría tu código de esta forma: Código
Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: juanlulete en 15 Julio 2012, 17:10 pm AbrahamAraon está muy bien el código que me has dado, funciona muy bien (No se si mejor o peor) pero lo que no consigo hacer es cambiar mi código para que me genere números primos en un listbox con dos textbox un número de inicio para generar números primos y un límite y el botón para ejecutarlo.
¿Me podrían ayudar a cambiarlo? Y otra cosa en mi código cuando lo ejecuto solo me proporciona la respuesta a números menores de 10 dígitos. Si son 10 o más me da error y se para. ¿Cómo puedo solucionarlo? Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: Yoghurt en 16 Julio 2012, 02:04 am Para resolver problemas usa mi codigo que es una funcion basada en AKS del codigo C++ "isPrime()" la he probado con numeros del 0 - 100 y no dio error. (el codigo que tu hiciste fue un intento de la implementacion AKS solo que diferente :) )
Basicamente la funcion "isPrime()" lo que hace es ver si un numero es divisible por algún numero, y si no es divisible entonces es Primo. Por este motivo solo debes usarla para numeros pequeños pues puede dar "falsos positivos". La forma eficaz de saberlo es usando la implementacion completa de AKS. Para lo que tu quieres hacer con pequeñas modificaciones se hace: Código
Espero te sirva :) P.D.: Busca en la web una lista de numeros primos y testea tu codigo ;) Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: juanlulete en 16 Julio 2012, 13:41 pm Está genial tu código muchas gracias AbrahamAraon :)
Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: Keyen Night en 16 Julio 2012, 21:48 pm Mi firma tiene un tema interesante...
Título: Re: Ayuda para mejorar programa para números primos VB 2010 Express Publicado por: Yoghurt en 17 Julio 2012, 07:59 am Mi firma tiene un tema interesante... Interesante +1 Solo que no manejo .NET :-\ y no podria comprobarlo. estuve mirandolo y al parecer tu codigo es basado en alguna criba mesclada con algunas propiedades de los numeros primos (Wikipedia -> http://es.wikipedia.org/wiki/Número_primo (http://es.wikipedia.org/wiki/Número_primo)) ya comprobaste que arroja verdaderos numeros primos? Encontré una pagina interesante: http://mste.illinois.edu/html.f/resource/prime.html (http://mste.illinois.edu/html.f/resource/prime.html) Y... una lista de numeros primos bastante larga -> http://primes.utm.edu/primes/lists/all.txt (http://primes.utm.edu/primes/lists/all.txt) sacada desde -> http://primes.utm.edu/primes/ (http://primes.utm.edu/primes/) |