Advertisement
gabuwu

TP04-EJ4-G3.3-Principal

Oct 27th, 2021
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.12 KB | None | 0 0
  1. package TP4;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Principal {
  6.     public static void main(String[] args) {
  7.        
  8.     Helper ayuda = new Helper();
  9.     Scanner scanner = new Scanner(System.in);
  10.     SimpleLinkedList<String> lista = new SimpleLinkedList<String>();
  11.  
  12.     int opc= 1;
  13.     boolean seguir=true;
  14.     do {
  15.    
  16.         ayuda.print("Programa para descomponer un numero en factores primos");
  17.         ayuda.print("******MENU*****");
  18.         ayuda.print("1- Ingreso por consola");
  19.         ayuda.print("2- Generar aleatoriamente");
  20.         do {
  21.             ayuda.print("Elija una opcion.... \n");
  22.             opc = scanner.nextInt();
  23.                if (opc !=1 && opc!= 2) {
  24.                    ayuda.print("Opcion invalida...Ingrese nuevamente");
  25.                }
  26.         }while(opc!=1 && opc!=2);
  27.        
  28.        
  29.         switch(opc) {
  30.             case 1:
  31.                 int num =ayuda.leerNum();
  32.                 lista = factorizar(num);
  33.                 break;
  34.        
  35.             case 2 :
  36.                 num= ayuda.generarRand();
  37.                 lista = factorizar(num);
  38.                 break;
  39.         }
  40.        
  41.         ayuda.print("\nDesea seguir operando? (1)Si  - (2)No");
  42.         seguir=ayuda.continuar();
  43.        
  44.     } while (seguir);
  45. }
  46.    
  47.  
  48.     public static  SimpleLinkedList factorizar(Integer num ) {
  49.         SimpleLinkedList<String> lista = new SimpleLinkedList<String>();
  50.        
  51.         Helper ayuda = new Helper();
  52.        
  53.         System.out.println("\nEl numero "+num+" queda factorizado de la siguiente manera");
  54.        
  55.         String numStr="";
  56.         String exponenteStr="";
  57.        
  58.        
  59.         for (int i=2 ; num>1 ;i++) {
  60.            
  61.             int exponente = 0;
  62.            
  63.             while(num%i == 0) {
  64.                
  65.                 exponente++;  
  66.                 num=num/i;
  67.                
  68.                 if (num%i != 0) {
  69.                     if( exponente > 1 ) {      
  70.                         numStr = ayuda.toString(i);
  71.                         exponenteStr = ayuda.toString(exponente);
  72.                         lista.addLast(numStr + " ^ "+exponenteStr+ " x ");
  73.                        
  74.                     }
  75.                     else if (num>1){   
  76.                         numStr = ayuda.toString(i);
  77.                         lista.addLast(numStr + " x ");             
  78.                        
  79.                     }
  80.                     else {
  81.                         numStr=ayuda.toString(i);
  82.                         lista.addLast(numStr);
  83.                        
  84.                        
  85.                     }
  86.                    
  87.                 }
  88.                
  89.             }
  90.             if(exponenteStr=="") {
  91.                 exponenteStr="1";
  92.             }
  93.         }
  94.         System.out.println(lista.toString());
  95.         System.out.println("Y su multiplicidad es: " +exponenteStr);
  96.        
  97.         return lista;
  98.        
  99.     }
  100.                    
  101. }
  102.  
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement