Este documento presenta 19 ejercicios de programación de diferentes temas como química, matemáticas y lógica. Los ejercicios incluyen tareas como calcular configuraciones electrónicas, determinar el equilibrio de una balanza, convertir números entre bases binarias y decimales, y analizar matrices y patrones numéricos.
2. Ejercicio 1.
A Jonathan le han mandado que realice un problema de configuración electrónica. La verdad es que con química está bastante
perdido, y ha decidido que no va a ser ésta la asignatura que le deje fuera de la universidad. Teniendo en cuenta que en el examen no
es crucial para la nota la realización de un ejercicio de este tipo, pero que no se les permite aprobar si no entregan bien realizados
todas las actividades propuestas en clase, ha decidido pedirle ayuda a su hermano que está estudiando Informática.
Lo primero que hace Jonathan es explicarle a su hermano el ejercicio, que consiste en indicar de qué forma se
distribuyen los electrones de los átomos o elementos químicos. Para eso, le cuenta, se utiliza el diagrama de Moëller
que determina en qué orden se van completando los subniveles de cada orbital. La idea intuitiva es que para saber
cómo se distribuyen los N electrones de un átomo concreto debemos pensar dónde se coloca el primer electrón,
después dónde se coloca el segundo, etc., hasta llegar al último. La tabla 1.a muestra todos los "huecos" posibles
donde se pueden colocar. Sus nombres son una combinación del número nivel (1…7) y del orbital (s, p, d o f).
(a) Nombres de los subniveles
(b) Orden en el que se completan
Figura 1: Diagrama de Moëller
La figura 1.b muestra en qué orden se van completando los subniveles. Como se ve, consiste en recorrer los
subniveles de forma diagonal de arriba a abajo y de derecha a izquierda:
1s 2s 2p 3s 3p 4s 3d 4p 5s 4d 5p 6s 4f 5d 6p 7s 5f 6d 7p
Lo último que hay que tener en cuenta es el número de electrones que entran en cada subnivel: el subnivel s
puede llenarse con 1 ó 2 electrones. El subnivel p puede contener de 1 a 6 electrones, el d de 1 a 10 electrones y el subnivel f de 1 a
14 electrones:
Orbital s p d f
Electrones 2 6 10 14
Para que todo le quede más claro, Jonathan le enseña a su hermano un ejercicio que han realizado en clase: la configuración
electrónica del Rubidio que tiene 37 electrones (en la terminología química se dice que el número atómico del Rubidio es Z=37).
Siguiendo el diagrama de Moëller, los dos primeros electrones irán en el subnivel 1s y los dos siguientes en 2s. A continuación, se
completará el 2p con seis electrones más (son los que entran en los orbitales p). Los dos siguientes irán a parar a 3s y los siguientes
seis a 3p. En este momento hemos colocado ya 18 electrones. Si continuamos con el proceso hasta colocar los
37 veremos que los 36 primeros electrones completan todos los subniveles hasta el 4p y por tanto que el último electrón
termina en el subnivel 5s. El número de electrones que quedan en cada subnivel es:
La forma de indicar la configuración electrónica es mostrar uno tras otro todos los subniveles que tienen electrones
utilizando el orden en el que se han ido rellenando. Además, para cada subnivel se indica el número de electrones que
han caído en él. Para nuestro ejemplo será:
1s2 2s2 2p6 3s2 3p6 4s2 3d10 4p6 5s1
El problema consiste en guardar en un arreglo bidimensional, la configuración electrónica, de un elemento que nos diga Jonathan.
s p d f
n=1 1s
n=2 2s 2p
n=3 3s 3p 3d
n=4 4s 4p 4d 4f
n=5 5s 5p 5d 5f
n=6 6s 6p 6d
n=7 7s 7p
s p d
n=1 2
n=2 2 6
n=3 2 6 10
n=4 2 6
n=5 1
3. Ejercicio 2.
Una balanza se encuentra en equilibrio cuando el producto de la carga aplicada sobre el brazo derecho por
la longitud de este brazo, es igual al producto de la carga aplicada sobre el brazo izquierdo por la longitud de
este otro brazo. Determinar si la balanza se encuentra en equilibrio si:
a. La longitud del brazo izquierdo es 3 m, la del derecho es 2 m, la carga aplicada al brazo izquierdo es
5 Kg y la carga aplicada al derecho es 7 Kg.
b. La longitud del brazo izquierdo es 4 m, la del derecho es 2 m, la carga aplicada al brazo izquierdo es
4 Kg y la carga aplicada al derecho es 4 Kg.
c. Desarrollar un algoritmo que sirva para cualquier conjunto de valores para las longitudes de los brazos
y las cargas aplicadas.
Ejercicio 3.
Pedir un número entero positivo de base a diez y convertirlo a binario. Hacer también que el algoritmo haga la
transformación contraria.
Ejercicio 4.
Construir un algoritmo que determine parejas de números primos relativos entre el 1 y 1000. Dos números son
primos relativos si no tienen un divisor común mayor que 1. Guarde cada pareja de primos relativos en un arreglo.
Ejercicio 5.
Construir un algoritmo que lea las longitudes de tres segmentos de recta y determine si con ellos se puede construir
un triángulo.
Ejercicio 6.
Un rectángulo queda determinado si se conocen las coordenadas de su vértice inferior izquierdo, su ancho y
su largo. Construir un algoritmo que lea los datos relacionados con dos rectángulos y determine si estos se intersectan
o no.
Ejercicio 7.
Crea un programa que dado un número entre 0,0001 y 0,9999 (y de no más de 4 cifras decimales), obtenga y muestre
la correspondiente fracción irreducible. Por ejemplo, el número 0,25 se puede obtener a partir de 25/100, o de 2/8, o
de 1/4, entre otros. La fracción irreducible es 1/4, que está formada por un numerador y un denominador que son
primos entre sí. Nota: el programa no debe avisar al usuario con mensajes como "Introduzca un número". Debe leer
directamente el número que introduzca el usuario. De igual modo, sólo debe mostrar la fracción irreducible
encontrada, nada más. Tampoco debe hacer ninguna pausa antes ni después de la ejecución.
Ejercicio 8.
Dada una matriz cuadrada de N x N indicar si posee alguna fila repetida o columna repetida o la diagonal y la diagonal
invertida coinciden.
4. Ejercicio 9.
El negocio de Javier ha tenido un descenso de las consumidores. Además, según dicen en los telediarios, la ley
antitabaco le está perjudicando aún más. Como no termina de creerse todo lo que dicen en la televisión, ha decidido
hacer un estudio de mercado semanal de su establecimiento. Para ello, ha estado apuntando la caja diaria que se ha
realizado en las últimas semanas. Le gustaría saber qué día de la semana se producen el mayor y el menor número de
ventas, y si las ventas del domingo superan a la media semanal. De esta manera podrá establecer estrategias de
marketing que le permitan recuperar algo de las ganancias perdidas.
Javier abre su bar todos los días menos los lunes, que utiliza para descansar. Realice un programa que ayude a Javier
en su cometido. Dada un arreglo de 4 x 6 de valores correspondiente a un mes, el programa deberá decirle a Javier
por cada semana, el día de la semana que más y menos ha vendido, y si las ventas del domingo superan la media.
Además, calcule la media mensual y el día que más se acercó por arriba o por debajo de la media mensual.
Ejercicio 10.
El matemático indio Dattaraya Ramchandra Kaprekar trabajó en teoría de números, realizando varios descubrimientos
a lo largo de su vida. Uno de ellos fue el conjunto de los que, desde entonces, se conocen como números de Kaprekar,
que son aquellos números enteros positivos que, al ser elevados al cuadrado, pueden descomponerse (para una base
dada, que asumiremos ser base 10) en dos enteros positivos cuya suma es igual al número original.
Por ejemplo, el número 703 es un número de Kaprekar, dado que 703² es 494209 que puede descomponerse en 494 y
209 cuya suma da, de nuevo, 703. Otro ejemplo es el 9 (9² = 81 y 8 + 1 = 9).
Hay que tener presente que ambos números en la descomposición no tienen por qué tener el mismo número de dígitos.
Por ejemplo en el caso del número 2728 tenemos que 2728² = 7441984 que es número de Kaprekar porque 744 + 1984
= 2728. También puede darse el caso de que el número al cuadrado contenga algún cero. Por ejemplo, con el 4879
tenemos que 4879² = 23804641, que es un número de Kaprekar porque 238 + 04641 = 4879.
Si bien se permite que el primero de los valores de la descomposición sea 0 (y así por ejemplo 1 es número de Kaprekar),
el segundo no puede serlo. Debido a ello, el 100 no es un número de Kaprekar. Fijate que 100² es 10000, que podría
descomponerse en 100 y 00 cuya suma es 100. Sin embargo, el segundo número debería ser 0, que no se considera
válido. Identificar si un número mayor o igual que 1 y menor que 65536, introducido por teclado pertenece a este
conjunto.
Ejercicio 11.
Blanca aún es demasiado pequeña para saber jugar al dominó, de modo que no entiende por qué sus abuelos
se pasan las tardes dando golpes con las fichas sobre la mesa a la vez que gritan cosas como "me doblo", "a
doses" o "¡cerrado!".
Pero cuando terminan y se marchan a la cocina a preparar la cena, se siente hipnotizada por las fichas blancas
y negras, y se dedica a hacer construcciones con ellas. Una de sus preferidas es una pirámide. Cuando tiene las
28 fichas, hace una fila de 7 fichas, sobre esa coloca otra fila de 6, y así sucesivamente hasta construir una
pirámide de 7 pisos, donde en la cúspide hay una única ficha.
5. Pirámide con 28 fichas de dominó
El fin de semana pasado empezó a montar su pirámide, pero le faltaban dos fichas, que se habían caído al suelo.
Al terminar, vio con pesar que su último piso tenía una única ficha, pero el anterior tenía tres, en lugar de dos.
No le gustan las pirámides que no son perfectamente escalonadas (al subir, quiere que cada piso pierda
exactamente una ficha), de modo que prefiere construir una pirámide truncada, en la que el último piso tiene
más de una ficha. Tras probar un buen rato, consiguió recolocar las 26 fichas en una pirámide de 4 pisos, en el
que el piso inferior tenía 8 fichas y el superior 5.
Pirámide truncada con 26 fichas
Leyendo un número positivo hasta 10.000.000 desarrolle un algoritmo que indique el número de fichas de dominó
disponibles para construir la pirámide.
Ejercicio 12.
Hay múltiples juegos y acertijos que empiezan con cerillas en una mesa colocadas
formando cuadrados como en la figura:
Las preguntas suelen ser del estilo de "¿Cuántas cerillas hay que quitar como mínimo para
conseguir tres rectángulos?". Nosotros nos planteamos algo más sencillo: ¿cuántas
cerillas se necesitan para crear una figura con N×M cuadrados?
Ejercicio 13.
Los números capicúa son aquellos que, tras ser escritos, se leen igual de izquierda a derecha que de derecha a izquierda.
Por ejemplo, los números 11, 474 o 9.889 son capicúa. Como ocurre con los números primos, entre los números bajos
hay muchos números capicúa. Los primeros son el 0, 1, 2, …, 9, que están todos a distancia 1. Más adelante llegan el
11, 22, 33, …, 99 que están a distancia 11. El siguiente, sin embargo, vuelve a estar cerca: el 101 está sólo a distancia 2
del anterior. ¿Eres capaz de saber a qué distancia está el siguiente capicúa de un número dado? Verifique que el número
dado es capicúa.
6. Ejercicio 14.
Imagine un tablero con cuadros blancos y negros, similar al utilizado en el juego de las damas o del ajedrez. La aplicación
debe detectar la pulsación sobre el tablero, y el color del cuadro pulsado. El tamaño del tablero estará determinado
por un valor llamado tamaño, pudiendo elegir tres tamaños predefinidos con una opción de menú. Como no podemos
pintar el tablero con colores alternos, esta situación se deberá resolver con valores 0 y 1, equivalentes al blanco o
negro, para rellenar de 0 ó 1, según corresponda a tener o no color la casilla. Seguido de esto, muestre en pantalla el
tablero con sus "colores" correspondiente. Como no podemos detectar momentáneamente la pulsación en pantalla,
el usuario digitará el valor de la fila y de la columna del tablero. Una vez conocido esto último, se indicará si es válido,
el correspondiente color de dicha casilla ubicada en dicha coordenada.
Ejercicio 15.
Escriba un programa que solicite al usuario números enteros hasta que:
La suma de todos los números introducidos sea superior a 100
Se introduzca 3 veces el valor 3
Se introduzca 2 veces el valor 2
Se introduzca 8 veces consecutivas el mismo valor
Ejercicio 16.
Multiplique matricialmente dos matrices recibidas.
Ejercicio 17.
Escribe un método que permita realizar el cifrado de César de un texto. Para realizar el cifrado César se necesita el
texto a cifrar y un número que indica el desplazamiento que se emplea de los caracteres para cifrar. Si el número es 2,
la letra ‘a’ se sustituye por la letra ‘c’, la ‘b’ por la ‘d’, etc. Utiliza para el cifrado el alfabeto español, que incluye la ñ.
Ejercicio 18.
Hacer un programa que, dada una hora en el espejo (reflejo), devuelva la hora real.
Ejercicio 19.
Se dice que un número es reversible si al ser sumado a sí mismo tras invertir sus dígitos da un número con todos los
dígitos impares. Por ejemplo, el número 27 se convierte en el 72 al ser leído de derecha a izquierda. Si sumamos ambos,
obtenemos 27+72=99. Como todos los dígitos de 99 son impares, 27 y, simétricamente, 72 son números reversibles.
Para ser considerado número reversible, el número original y su versión leída de derecha a izquierda deben tener el
mismo número de dígitos. Por ejemplo, el número 1010 es, al ser leído en sentido inverso, el 0101. Cuando se suman
se obtiene el 1111 con todos sus dígitos impares. Sin embargo, 1010 tiene cuatro dígitos y 0101 sólo tres (el cero a la
izquierda no se cuenta). Por tanto 1010 no es un número reversible. Aunque de un sólo dígito no hay ningún número
reversible (es fácil explicar la razón), de 2 dígitos hay 20 y de 3 hay 100. Indique si un número dado es reversible.
Ejercicio 20.
Indique si un número dado es narcisista.
7. Ejercicio 21.
Cuando Alicia se encontró con el Sombrerero Loco, la Liebre de Marzo y el Lirón,
los tres estaban en mitad de la celebración de una fiesta de no cumpleaños. Al
principio Alicia no entendía nada, pero, gracias a las explicaciones del
Sombrerero Loco, finalmente entendió que un no cumpleaños es una fecha que
no coincide con la del cumpleaños. Alicia cayó en la cuenta de que también ese
día era su no cumpleaños. ¡Qué pequeño es este mundo!
La dificultad del no cumpleaños es ¡saber cuántos se cumplen! Por eso, para no
complicarse, en el País de las Maravillas las tartas solían tener siempre una sola
vela. Pero a la Reina de Corazones no le gustaba, y, cuando decidió cortar la
cabeza a cualquiera que no pusiera el número correcto de velas, se dejaron de celebrar fiestas de no cumpleaños.
¡¡Hay que poner fin a esta sequía de celebraciones!!
El programa leerá, del teclado, un caso de prueba, que proporciona la fecha de nacimiento de uno de los habitantes
del País de las Maravillas y la fecha actual, que siempre será posterior. Cada fecha está compuesta del día, mes y año,
y siempre serán fechas válidas, aunque podría ocurrir que la segunda no fuera un día de no cumpleaños. El habitante
más anciano del País de las Maravillas nació en 1862, y no hay ninguna consulta que supere el año 9999.
El programa escribirá en pantalla, cuántos no cumpleaños cumple el personaje en la fecha dada. Si el día no es un no
cumpleaños, se escribirá 0.
Ejercicio 22.
¿Cuántas veces has vivido con pavor
los exámenes de lengua en los que te
daban un infinitivo y un tiempo verbal
y tenías que conjugarlo? Pensabas que
no era de ninguna utilidad y que los
profes de lengua te obligaban a
estudiarlos sólo por hacerte sufrir.
Pues se acabó, ya no hay que estudiar
más. Vas a construir un programa que,
dado un verbo y su tiempo verbal, te lo
conjugue. Para ello, cuentas con un
ejemplo de cada una de las
conjugaciones de los tiempos verbales
que generará el programa.
Nota: Nuestro programa no pondrá
tildes, a pesar de constituir una falta de
ortografía. Se sugiere usar varios
arreglos para guardar el contenido de
la tabla.
El usuario deberá escribir el verbo del que desea conocer las conjugaciones y el programa visualizará el presente,
pretérito y futuro para todos los pronombres personales.
Verbo Presente (A) Pretérito Perfecto Simple (P)Futuro (F)
Yo salto Yo salté Yo saltaré
Tú saltas Tú saltaste Tú saltarás
Saltar Él salta Él saltó Él saltará
Nosotros saltamos Nosotros saltamos Nosotros saltaremos
Vosotros saltáis Vosotros saltásteis Vosotros saltaréis
Ellos saltan Ellos saltaron Ellos saltarán
Yo como Yo comí Yo comeré
Tú comes Tú comiste Tú comerás
ComerÉl come Él comió Él comerá
Nosotros comemosNosotros comimos Nosotros comeremos
Vosotros coméis Vosotros comísteis Vosotros comeréis
Ellos comen Ellos comieron Ellos comerán
Yo vivo Yo viví Yo viviré
Tú vives Tú viviste Tú vivirás
Vivir Él vive Él vivió Él vivirá
Nosotros vivimos Nosotros vivimos Nosotros viviremos
Vosotros vivís Vosotros vivísteis Vosotros viviréis
Ellos viven Ellos vivieron Ellos vivirán
8. Ejercicio 23.
El primo 41, se puede escribir como la suma de seis primos consecutivos:
41 = 2 + 3 + 5 + 7 + 11 + 13
Esta es la suma más larga de números primos consecutivos que se suma a un número primo inferior a cien.
La suma más larga de números primos consecutivos por debajo de mil que se suma a un número primo, contiene 21
términos y es igual a 953.
¿Qué número primo, inferior a un millón, puede escribirse como la suma de los números primos más consecutivos?
Ejercicio 24.
Los primeros dos números consecutivos que tienen dos factores primos distintos son:
14 = 2 × 7
15 = 3 × 5
Los primeros tres números consecutivos que tienen tres factores primos distintos son:
644 = 2² × 7 × 23
645 = 3 × 5 × 43
646 = 2 × 17 × 19.
Encuentre los primeros cuatro enteros consecutivos que tengan cuatro factores primos distintos cada uno.
Ejercicio 25.
Una permutación es una disposición ordenada de objetos. Por ejemplo, 3124 es una posible permutación de los dígitos
1, 2, 3 y 4. Si todas las permutaciones se enumeran numéricamente o alfabéticamente, lo llamamos orden lexicográfico.
Las permutaciones lexicográficas de 0, 1 y 2 son:
012 021 102 120 201 210
¿Cuál es la millonésima permutación lexicográfica de los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9?
Ejercicio 26.
En la cuadrícula de 10 × 10, cuatro números a lo largo de una diagonal se han
marcado en rojo. El producto de estos números es 26 × 63 × 78 × 14 = 1788696.
¿Cuál es el mayor producto de cuatro números adyacentes en cualquier dirección
(arriba, abajo, izquierda, derecha o en diagonal) en otra cuadrícula de 10 × 10 que
contiene números aleatorios de que van del 0 al 99?
Ejercicio 27.
Un triplete pitagórico es un conjunto de tres números naturales, a <b <c, para el
cual, a2
+ b2
= c2
. Por ejemplo, 32 + 42 = 9 + 16 = 25 = 52. Existe exactamente un
triplete de Pitágoras para el cual a + b + c = 1000. Encuentra el producto abc.
22 97 38 15 00 40 00 75 04 05
99 40 17 81 18 57 60 87 17 40
31 73 55 79 14 29 93 71 40 67
95 23 04 60 11 42 69 24 68 56
16 71 51 67 63 89 41 92 36 54
32 60 99 03 45 02 44 75 33 53
81 28 64 23 67 10 26 38 40 67
20 68 02 62 12 20 95 63 94 39
58 05 66 73 99 26 97 17 78 78
23 09 75 00 76 44 20 45 35 14
9. Ejercicio 28.
La suma de los cuadrados de los primeros diez números naturales es: 12
+ 22
+ ... + 102
= 385
El cuadrado de la suma de los primeros diez números naturales es: (1 + 2 + ... + 10) 2
= 552
= 3025
Por lo tanto, la diferencia entre la suma de los cuadrados de los primeros diez números naturales y el cuadrado de la
suma es 3025 - 385 = 2640. Encuentre la diferencia entre la suma de los cuadrados de los primeros cien números
naturales y el cuadrado de su suma.
Ejercicio 29.
Los factores primos de 13195 son 5, 7, 13 y 29. ¿Cuál es el mayor factor primo del número 600851475143?
Ejercicio 30.
La suma de los números primos por debajo de 10 es 2 + 3 + 5 + 7 = 17. Encuentra la suma de todos los números primos
por debajo de dos millones.
Ejercicio 31.
Los números triangulares, pentagonales y hexagonales son generados por las siguientes fórmulas:
Triangular Tn=n(n+1)/2 1, 3, 6, 10, 15, ...
Pentagonal Pn=n(3n−1)/2 1, 5, 12, 22, 35, ...
Hexagonal Hn=n(2n−1) 1, 6, 15, 28, 45, ...
Se puede verificar que T285 = P165 = H143 = 40755. Encuentra el siguiente número triangular que también sea pentagonal
y hexagonal.
Ejercicio 32.
Los números pentagonales son generados por la fórmula, Pn = n (3n − 1) / 2. Los primeros diez números pentagonales
son: 1, 5, 12, 22, 35, 51, 70, 92, 117, 145, ...
Se puede ver que P4 + P7 = 22 + 70 = 92 = P8. Sin embargo, su diferencia, 70 - 22 = 48, no es pentagonal. Encuentra el par
de números pentagonales, Pj y Pk, para los cuales su suma y diferencia son pentagonales.
Ejercicio 33.
585 es un número decimal (en base 10), que convertido a binario equivale a = 10010010012 (binario). Él es palindrómico
en ambas bases. Encuentre otro número, menor de un millón, que sea palindrómico en la base 10 y la base 2. (Tenga en
cuenta que el número palindrómico, en cualquiera de las dos bases, puede no incluir ceros iniciales).
Ejercicio 34.
El número 197, se llama primo circular porque todas las rotaciones de sus dígitos: 197, 971 y 719, también son primos.
Hay trece de estos números primos por debajo de 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79 y 97. ¿Cuáles son los
primos circulares inferiores al millón?
10. Ejercicio 35.
Diremos que un número de n dígitos es pandigital si hace uso de todos los dígitos 1 a n exactamente una vez; por ejemplo,
el número de 5 dígitos, 15234, es de 1 a 5 pandigital. Solicite el valor de n al usuario, genere todos los números de 1 a n
pandigitales existentes según el valor de dicha n, calcule la sumatoria de todos estos números, muestre cada uno de
ellos y su suma.
Ejercicio 36.
Sorprendentemente, solo hay tres números que se pueden escribir como la suma de las cuartas potencias de sus dígitos:
1634 = 14
+ 64
+ 34
+ 44
8208 = 84
+ 24
+ 04
+ 84
9474 = 94
+ 44
+ 74
+ 44
La suma de estos números es 1634 + 8208 + 9474 = 19316. Encuentra la suma de todos los números que se pueden
escribir como la suma de las terceras potencias de sus dígitos.