Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-0202 Principios de informática - III-2012
Profesor Jeisson Hidalgo-Céspedes
Grupo 903. Entrega límite: 14-feb-2013 11:55 p.m.
Escriba un programa en Java que permita al usuario escribir parejas de números enteros, y le muestra algunas propiedades interesantes entre ellos: el máximo común divisor, si son números capicúa, si son números amigos y si son primos gemelos. Ejemplo de ejecución:
Propiedades de dos enteros Ingrese dos enteros (0 para salir): 18 96 Maximo comun divisor: 6 Ingrese dos enteros (0 para salir): 3 5 Maximo comun divisor: 1 Son primos gemelos Ingrese dos enteros (0 para salir): 301 103 Maximo comun divisor: 1 Son capicua uno del otro Ingrese dos enteros (0 para salir): 900 9 Maximo comun divisor: 9 Ingrese dos enteros (0 para salir): 311 313 Maximo comun divisor: 1 Son primos gemelos Ingrese dos enteros (0 para salir): 220 284 Maximo comun divisor: 4 Son numeros amigos Ingrese dos enteros (0 para salir): 18194715 22240485 Maximo comun divisor: 45 Son numeros amigos Ingrese dos enteros (0 para salir): 0
Su programa se debe mantener solicitando números e imprimiendo propiedades, hasta que el usuario ingrese algún número 0. Las propiedades que su programa debe evaluar son las siguientes:
En su solución, usted debe implementar al menos los siguientes métodos en su clase de Java. Note que el usuario puede introducir enteros muy grandes al ejecutar su programa.
calcularMaximoComunDivisor(a,b). Retorna el máximo común divisor entre a y b de acuerdo al Algoritmo de Euclides.sonCapicua(a,b). Retorna true si a es el número que resulta de leer al revés a b y viceversa. Por ejemplo sonCapicua(911,119) retornaría true y sonCapicua(9110,119) retornaría falseinvertir(n). Retorna el número resultado de invertir los dígitos de n. Por ejemplo, invertir(1570) retornaría 751.sonAmigos(a,b). Retorna true si a y b son números amigos, false en cualquier otro caso.calcularSumaDivisores(n). Encuentra todos los divisores propios de n (incluyendo el 1 pero no a n) y retorna la suma de ellos. Por ejemplo, calcularSumaDivisores(12) retorna 16 porque \(1 + 2 + 3 + 4 + 6 = 16\).sonGemelos(a,b). Retorna true si a y b son números primos gemelos, false en cualquier otro caso.esPrimo(n). Retorna true si n es un número primo, false en cualquier otro caso. Recuérdese que todos los primos son mayores que 1.main(). Se mantiene en un ciclo solicitando e imprimiendo propiedades de números hasta que se ingrese 0. Los identificadores son significativos. La indentación ayuda a la legibilidad del códigos.calcularMaximoComunDivisor(a,b) implementado correctamente. Retorna un entero. Se invoca para imprimir su resultado en la salida estándar.sonCapicua(a,b) e invertir(n). Ambos son invocados para indicar en la pantalla cuando los números son capicúa.sonAmigos(a,b) y calcularSumaDivisores(n) son invocados indicar en la pantalla cuando los números son amigos.sonGemelos(a,b) y esPrimo(n), son invocados para indicar en la pantalla cuando los números son gemelos.Para presentar su solución, comprima el archivo .java que haya creado y súbalo a Mediación virtual en la asignación con nombre Tarea03.