Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package TP4;
- import java.util.Scanner;
- public class Principal {
- public static void main(String[] args) {
- Helper ayuda = new Helper();
- Scanner scanner = new Scanner(System.in);
- SimpleLinkedList<String> lista = new SimpleLinkedList<String>();
- int opc= 1;
- boolean seguir=true;
- do {
- ayuda.print("Programa para descomponer un numero en factores primos");
- ayuda.print("******MENU*****");
- ayuda.print("1- Ingreso por consola");
- ayuda.print("2- Generar aleatoriamente");
- do {
- ayuda.print("Elija una opcion.... \n");
- opc = scanner.nextInt();
- if (opc !=1 && opc!= 2) {
- ayuda.print("Opcion invalida...Ingrese nuevamente");
- }
- }while(opc!=1 && opc!=2);
- switch(opc) {
- case 1:
- int num =ayuda.leerNum();
- lista = factorizar(num);
- break;
- case 2 :
- num= ayuda.generarRand();
- lista = factorizar(num);
- break;
- }
- ayuda.print("\nDesea seguir operando? (1)Si - (2)No");
- seguir=ayuda.continuar();
- } while (seguir);
- }
- public static SimpleLinkedList factorizar(Integer num ) {
- SimpleLinkedList<String> lista = new SimpleLinkedList<String>();
- Helper ayuda = new Helper();
- System.out.println("\nEl numero "+num+" queda factorizado de la siguiente manera");
- String numStr="";
- String exponenteStr="";
- for (int i=2 ; num>1 ;i++) {
- int exponente = 0;
- while(num%i == 0) {
- exponente++;
- num=num/i;
- if (num%i != 0) {
- if( exponente > 1 ) {
- numStr = ayuda.toString(i);
- exponenteStr = ayuda.toString(exponente);
- lista.addLast(numStr + " ^ "+exponenteStr+ " x ");
- }
- else if (num>1){
- numStr = ayuda.toString(i);
- lista.addLast(numStr + " x ");
- }
- else {
- numStr=ayuda.toString(i);
- lista.addLast(numStr);
- }
- }
- }
- if(exponenteStr=="") {
- exponenteStr="1";
- }
- }
- System.out.println(lista.toString());
- System.out.println("Y su multiplicidad es: " +exponenteStr);
- return lista;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement