Está en la página 1de 5

Ejercicio 1:

Programa que lea un nmero entero N de 5 cifras y muestre sus cifras igual que en el ejemplo.
Por ejemplo para un nmero N = 12345

La salida debe ser:

1
12
123
1234
12345
Ejercicio 2:
Programa Java que lea un nmero entero N de 5 cifras y muestre sus cifras igual que en el
ejemplo.
Por ejemplo para un nmero N = 12345

La salida debe ser:

5
45
345
2345
12345

Ejercicio 3:
Programa que pida por teclado la fecha de nacimiento de una persona (dia, mes, ao) y calcule
su nmero de la suerte.
El nmero de la suerte se calcula sumando el da, mes y ao de la fecha de nacimiento y a
continuacin sumando las cifras obtenidas en la suma.
Por ejemplo:
Si la fecha de nacimiento es 12/07/1980
Calculamos el nmero de la suerte as: 12+7+1980 = 1999 1+9+9+9 = 28
Nmero de la suerte: 28

Ejercicio 4:
Programa que lea por teclado tres nmeros enteros H, M, S correspondientes a hora, minutos y
segundos respectivamente, y comprueba si la hora que indican es una hora vlida.
Supondremos que se leemos una hora en modo 24 Horas, es decir, el valor vlido para las horas
ser mayor o igual que cero y menor que 24.
El valor vlido para los minutos y segundos estar comprendido entre 0 y 59 ambos incluidos
La instruccin que comprueba si la hora leda por teclado es correcta es:

if(H>=0 && H<24 && M>=0 && M<60 && S>=0 && S<60)
Esta condicin da como resultado true cuando la hora es mayor o igual a 0 y menor que 24, los
minutos son mayores o iguales a 0 y menores que 60 y los segundos son mayores 0 iguales a
cero y menores a 60.

Ejercicio 5:
Programa que lea una variable entera mes y compruebe si el valor corresponde a un mes de 30
das, de 31 o de 28. Supondremos que febrero tiene 28 das. Se mostrar adems el nombre del
mes. Se debe comprobar que el valor introducido est comprendido entre 1 y 12.
Ejercicio 6:

Programa que lea una serie de nmeros por teclado hasta que se lea un nmero
negativo. El programa indicar cuntos nmeros acabados en 2 se han ledo.
Para saber si un nmero acaba en dos o en general para saber en qu dgito termina un
nmero entero se divide el nmero entre 10 y se obtiene el resto de esta divisin.
En Java el operador que obtiene el resto de una divisin es el operador %
En este caso para saber si el nmero acaba en 2 escribiremos la instruccin:
if(n%10==2)
Ejercicio 7:

Programa java para calcular si un nmero es perfecto


Qu es un nmero perfecto?
Un nmero es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el
propio nmero.
Por ejemplo, el nmero 6 es perfecto.
El 6 tiene como divisores: 1, 2, 3 y 6 pero el 6 no se cuenta como divisor para
comprobar si es perfecto.
Si sumamos 1 + 2 + 3 = 6
Los siguientes nmeros perfectos despus del 6 son 28, 496, 8128, 33550336,
8589869056.
En esta entrada vamos a desarrollar el algoritmo para comprobar si un nmero es
perfecto.

El programa pide por teclado un nmero y muestra si es perfecto o no. mediante un


bucle for sumaremos los divisores del nmero. Al final si esta suma es igual al nmero
mostraremos el mensaje correspondiente.
Ejercicio 8:

Utilizando el algoritmo anterior vamos a escribir ahora el programa Java que muestre los
nmeros perfectos entre 1 y 1000
Ejercicio 9:
COMPROBAR SI DOS NMEROS SON AMIGOS

Dos nmeros enteros positivos A y B son nmeros amigos si la suma de los divisores propios de
A es igual a B y la suma de los divisores propios de B es igual a A.

Los divisores propios de un nmero incluyen la unidad pero no el propio nmero.

Un ejemplo de nmeros amigos son los nmeros 220 y 284.


Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110.
La suma de los divisores propios de 220 da como resultado 284
Los divisores propios de 284 son 1, 2, 4, 71 y 142.
La suma de los divisores propios de 284 da como resultado 220.
Por lo tanto 220 y 284 son amigos.
Otras parejas de nmeros amigos son:
1184,

1210

2620,

2924

5020,

5564

6232,

6368

10744, 10856
12285, 14595
17296, 18416

Ejercicio 10:

La serie de fibonacci la forman una serie de nmeros tales que:


El primer trmino de la serie es el nmero 1

El segundo trmino de la serie es el nmero 1


Los siguientes trminos de la serie de fibonacci se obtienen de la suma de los dos
anteriores:
1, 1, 2, 3, 5, 8, 13, .....
Ejercicio 11:

Programa para convertir un nmero de decimal a binario.


Para escribir el programa nos vamos a basar en la forma clsica de pasar de decimal a
binario, o sea, dividir el nmero entre 2 y quedarnos con el resto de la divisin. Esta
cifra, que ser un cero o un uno, es el dgito de menos peso (ms a la derecha) del
nmero binario. A continuacin volvemos a dividir el cociente que hemos obtenido entre
2 y nos quedamos con el resto de la divisin. Esta cifra ser la segunda por la derecha
del nmero binario. Esta operacin se repite hasta que obtengamos un cero como
cociente.

De forma grfica lo vamos a ver mucho ms claro:

Si queremos convertir el nmero 12 en binario haremos las siguientes operaciones:

El nmero 12 en decimal es el 1100 en binario. El nmero binario se obtiene tomando


los restos en orden inverso a como se han obtenido.
Los que ya saben algo de Java pueden pensar que para qu quiero hacer ese programa
si simplemente escribiendo la instruccin:
System.out.println(Integer.toBinaryString(numero));
se mostrar el nmero en binario.

El mtodo toBinaryString de la clase Integer ya me hace el trabajo, pero se trata de


que seamos capaces de desarrollar por nosotros mismos el algoritmo que realiza la
conversin de decimal a binario.

Ejercicio 12:
CONVERTIR UN NMERO DE BINARIO A DECIMAL EN JAVA

El programa para pasar de binario a decimal se basa en la forma tradicional de hacerlo. Los
dgitos del nmero binario ocupan una posicin que se numera de derecha a izquierda empezando
por cero. La posicin del dgito ms a la derecha es la 0.

Numero Binario:

110101

Posicin que ocupa cada dgito

5 4 3 2 1 0

Para pasar el nmero a decimal se multiplica cada dgito binario por 2 elevado a la posicin que
ocupa. La suma de todos los productos es el equivalente en decimal.

Ejercicio 13:
Programa para convertir un nmero entero a nmeros romanos.
El programa pide un nmero entre 1 y 3999 y calcula su equivalente en nmeros romanos.
Para convertirlo se obtiene por separado cada cifra del nmero y se muestran las combinaciones
de letras del nmero romano equivalentes a cada cifra del nmero original.