Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Estructura de Datos - Facultad de Ingenieria - Universidad Nacional de Jujuy
- *
- * @Autor: Equipo 4.1
- */
- /* @integrantes: | @Carrera: | @LU:
- | |
- Flores ,Cesar Ismael | Lic. en Sistemas | 1782
- Llampa, Ariel Angel Gabriel | Ing. Informatica | 8445
- Machaca, Rodrigo Agustin | Ing. Informatica | 8512
- Perez, Emanuel Ismael | Ing. Informatica | 8393
- Quispe Rojas, Moises Esteban Nicolas | Ing. Informatica | 7286
- Encontrar el máximo común divisor de dos números enteros positivos (validados).
- Definición: El máximo común divisor de dos o más números enteros es el mayor número entero que los
- divide exactamente a todos, esto es sin dejar resto en cada división.
- Solución: El algoritmo de Euclides transforma un par de enteros positivos en otro par, dividiendo
- repetidamente el entero mayor por el menor y reemplazando el mayor por el menor y el menor por el
- resto. Cuando el resto es 0, el número más pequeño distinto de cero de la pareja resultante será el máximo
- común divisor de la pareja original.
- Modifique el programa escrito de manera que cuente con una función, procedimiento o método que realice
- lo solicitado mediante el uso de la consola y otra modalidad que haga exactamente lo mismo, pero
- reemplazando el ingreso de valores por consola por un generador de valores aleatorio.
- Indicaciones:
- Este ejercicio necesita del objeto scanner para ingresar datos por la consola o teclado, se espera que el
- código controle los problemas que normalmente ocurren al operar con la consola o teclado.
- Se espera una correcta modularización entre el código que realiza el ingreso y validación de los datos
- respecto del código que hace lo que se solicita en el ejercicio.
- También necesita del objeto random para generar valores de manera aleatoria
- */
- package Intro;
- public class ED_E5 {
- public static void main(String[] args) {
- (new ED_E5()).open();
- }
- public void open(){
- char option;
- System.out.println("Estructura de Datos - TP00 Ej. 05");
- do{
- System.out.println("Algoritmo de Euclides");
- System.out.println("(a) Ingreso Manual");
- System.out.println("(b) Generar Automaticamente");
- option=Helper.getChar();
- }while(run(option));
- }
- public int euclidAlgorithm(int integerOne,int integerTwo){
- int auxA=integerOne,auxB=integerTwo,temporary=0,rest;
- if(auxA<auxB){
- temporary=auxA;
- auxA=auxB;
- auxB=temporary;
- }
- while(auxB!=0){
- rest = auxA%auxB;
- auxA=auxB;
- auxB=rest;
- }
- return auxA;
- }
- public void registerManual(){
- int integerOne,integerTwo;
- System.out.print("Ingrese 1° valor: ");
- integerOne=Helper.getIntegerPositive();
- System.out.print("Ingrese 2° valor: ");
- integerTwo=Helper.getIntegerPositive();
- System.out.println("El MCD es: "+euclidAlgorithm(integerOne, integerTwo));
- }
- public void registerAutomatic(){
- int integerOne=Helper.random.nextInt(100)+1;
- int integerTwo=Helper.random.nextInt(100)+1;
- System.out.println("Se genero el 1° valor: "+integerOne);
- System.out.println("Se genero el 2° valor: "+integerTwo);
- System.out.println("El MCD es: "+euclidAlgorithm(integerOne, integerTwo));
- }
- public boolean run(char option){
- switch(option){
- case 'a','A':
- registerManual();
- return false;
- case 'b','B':
- registerAutomatic();
- return false;
- default:
- System.out.println("Opcion no contemplada");
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement