Sabemos que todos los números enteros es posible expresarlos como el producto de potencias de números primos. A esto es a lo que se le llama descomposición de un número en sus factores primos.
El siguiente código lo encontré entre mis bodegas de cosas , hace tiempo que no lo veía, es bastante interesante y simple de programar. No recuerdo bien cual fué la razón por la que lo programe, pero parece que alguien me lo pidió como favor creo.. en fin, la idea es simple dada una entrada de un entero representar su descomposición en números primos.
Este método es realmente eficaz para descomponer cualquier número en sus factores primos. Puedes averiguar como funciona siguiendo tú mismo el código que está a continuación...
Asi que si justo tienes un tiempo de descanso entre tus innumerables preguntas matemáticas y juegos de partypoker, preguntándote si algún día vas a fabricas algún programa que te permita encontrar los factores primos de un número, entonces estás de suerte.
Espero que este código les pueda ayudar en algo, si tienen dudas, solo dejen un comentarios.
|
package descomponernumeroenfactprimosenformavoraz; import java.io.*; import java.lang.Math; import javax.swing.*; public class DescompNumPrimos { /** * Él siguiente método es el constructor de la clase , lo que realmente hace *es */ public DescompNumPrimos() { JOptionPane.showMessageDialog(null,"Bienvenido al Programa\n"+ "=======================\n\n"+ "Desarrollado por : Gustavo Lacoste- 2007 - Universidad de La Frontera\n\n" + "El siguiente programa utiliza la estrategia voraz para descomponer\n" + "un número N en sus factores primos.\n\n" + "ADVERTENCIA\n" + "===========\n" + "1.- Recuerda que la descomposición NO se puede realizar con números negativos\n" + "2.- La complejidad del algoritmo es O(n*log2 n)\n" + "\n --- Para continuar presiona aceptar ---"); int numero=this.leerNumero(); descomponerEnFactorPrimo(numero); //Llama al método con el número deseado. } /** * Método para leer un entero por teclado. * @return Retorna un entero que ha pulsado el usuario. */ private int leerNumero() { try { return Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzca un número(entero)")); } catch (Exception e) { JOptionPane.showMessageDialog(null,"Error el formato del número introducido es incorrecto, ingresa un entero !!!."); return leerNumero(); //esto es recursividad } } /** * El siguiente método es el que hace casi todo el trabajo, toma un número y realiza la descomposición *en factores primos de dicho número. * */ public void descomponerEnFactorPrimo(int numeroADescomponer) { int factorPrimo = 2; int contadorDeNumeroDeVecesQueApareceCadaFactor; String flujoDeSalida=""; System.out.print(numeroADescomponer + " = "); while (numeroADescomponer > 1){ contadorDeNumeroDeVecesQueApareceCadaFactor = 0; while ( (numeroADescomponer % factorPrimo) == 0) { //encotrado factor ++contadorDeNumeroDeVecesQueApareceCadaFactor; numeroADescomponer /= factorPrimo; } if (contadorDeNumeroDeVecesQueApareceCadaFactor > 0) { flujoDeSalida=flujoDeSalida+" "+ ("(" + factorPrimo + "^" + (contadorDeNumeroDeVecesQueApareceCadaFactor) + ") "); } ++factorPrimo; } JOptionPane.showMessageDialog(null,"Descomposición Finalizada.\n"+ "==========================\n" + "El resultado de descomponer en numeros primos el numero "+numeroADescomponer+" es :\n" + flujoDeSalida+"\n" + "Desarrollado por : Gustavo Lacoste- 2007 - Universidad de La Frontera" + "\n\n --- Para Terminar el programa presiona aceptar ---"); } /** * Método main de la clase Problema3, en este método creo el objeto * de la clase Problema3 el cual automaticamente llamará a su constructor. */ public static void main(String[] args) { DescompNumPrimos instanciaDePrueba = new DescompNumPrimos(); } // Fin del main. } // Fin de la clase. |
Adicionalmente para los fanáticos de los números primos les dejo el enlace a un articulo bastante bueno sobre varias conjeturas de los mismos.
| Attachment | Size |
|---|---|
| DescompNumPrimos.zip | 1.91 KB |
| DescompNumPrimos.java_.txt | 3.31 KB |


muy bueno
muy bueno
kiero el programa
kiero el programa
Ahi esta ..
Ahi esta ..
El codigo fuente está publicado
El archivo DescompNumPrimos.zip contiene el código fuente del programa, está programado en java.
Muxas gracias!
Pues eso tio, benisimo pa acabar antes mates XP
GRACIAS!
Gracias, es justo lo que
Gracias, es justo lo que necesitaba
Jimmy Choo bags
cheap mbt shoes sale are the most popular walking shoe today. Last year, Nike Soccer Boot were through the roof. So the question becomes, "Why should I buy a pair? What's in it for me?"discount air sneakers; In this article, I will try to state the case of why everyone should be looking to try the new Jimmy Choo bags from Masai Barefoot Technology.With the Gucci watch ecommerce , versatility is at your disposal. ed hardy bedding shoes Fitness walking is the claim to its fame, but the Masai Barefoot Technology comes in several flavors so there is a shoe that meets any needs.we offer high quality and cheap insanity workout dvd insanity workoutLet you have vigor cheap insanity workout Let you be stronger workout cheap brands jeansLets you easily Nike Soccer Boot schedule keep you motivated ugg bottesFashion styles ugg pas cherwith the latest design trends uggs norgeso fashionable uggs skoSuch a air sneakersdeutschland beautiful cheap mbt shoes ugg saappaat suomesta different designs welcome to buy!
Post new comment