Escolar Documentos
Profissional Documentos
Cultura Documentos
Tema 1
Dado un número 𝑛, imprimir en pantalla sus factores primos de la siguiente manera:
150 = 21 ∗ 31 ∗ 52
Tema 2
Una empresa quiere transmitir datos mediante la línea telefónica, pero les preocupa que sus teléfonos
pudieran estar intervenidos. Todos sus datos se transmiten como enteros de cuatro dígitos. A usted le pidieron
que escriba un programa que encripte sus datos de manera que se transmitan de forma más segura. El
programa debe leer un entero de cuatro dígitos y encriptar la información de la siguiente manera:
• Remplace cada dígito con el residuo de la división entre 10 de la suma de dicho dígito más 7.
• Posteriormente, intercambie el primer dígito con el tercero, e intercambie el segundo dígito con el
cuarto.
• Luego, despliegue el entero encriptado.
Juan y María jugaron varios juegos de pares o impares. En cada juego Juan eligió impares (y, en consecuencia,
María “escogió” pares). Durante la partida cada jugador escribió, en pequeñas tarjetas, cuántos dedos él/ella
mostró, usando una tarjeta para cada juego (María utiliza tarjetas azules, mientras Juan utiliza tarjetas rojas).
Su objetivo era ser capaz de volver a comprobar los resultados después de mirar las cartas para cada juego. Sin
embargo, al final del día, Juan dejó caer el mazo de cartas, y aunque podían separar las tarjetas de color, las
mismas estaban (muy) posiblemente desordenadas.
Teniendo en cuenta el conjunto de los números escritos en las tarjetas rojas y azules, debe escribir un
programa para determinar el número mínimo de partidos que con seguridad María ganó.
Entrada del programa: la entrada contiene varios casos de prueba. La primera línea de un caso de prueba
contiene un entero 𝑁 que representa el número de juegos jugados (1 ≤ 𝑁 ≤ 100). La segunda línea de un caso
de prueba contiene 𝑁 enteros 𝑋𝑖 , indicando el número de dedos mostrados por María en cada uno de los
juegos (0 ≤ 𝑋𝑖 ≤ 5, para 1 ≤ 𝑖 ≤ 𝑁). La tercera línea de un caso de prueba contiene 𝑁 enteros 𝑌𝑖 , indicando el
número de dedos mostrados por Juan en cada uno de los juegos (0 ≤ 𝑌𝑖 ≤ 5, para 1 ≤ 𝑖 ≤ 𝑁). El fin de la
entrada está indicado por 𝑁 = 0.
Salida del programa: Para cada caso de prueba, su programa debe escribir una línea conteniendo un entero,
indicando el número mínimo de juegos que con seguridad María ganó.
3 0
1 0 4 3
3 1 2
9
0 2 2 4 2 1 2 0 4
1 2 3 4 5 0 1 2 3
0
Salida del programa: La salida deberá tener N líneas con una dirección IP decimal con puntos. La misma se
forma agrupando 8 bits y convirtiendo la representación binaria a una representación decimal.
4 0.0.0.0
00000000000000000000000000000000 3.128.255.255
00000011100000001111111111111111 203.132.229.128
11001011100001001110010110000000 80.16.0.1
01010000000100000000000000000001
Consejo: Para verificar que los casos de prueba presentados produzcan la salida pedida (Temas 3 y 4), podría
hacerse lo siguiente para no escribir los datos de entrada en cada ejecución:
• Compilar el programa en el IDE (sea Codeblocks o Dev-C++). En nuestro ejemplo de muestra, el archivo
es Tema4.exe.
• Copiar el ejemplo de entrada en un archivo de texto y guardarlo en el mismo directorio que el archivo
ejecutable (.exe) generado en el paso anterior. Por ejemplo, este archivo puede llamarse in.txt:
• Abrir una ventana de línea de comandos (suponiendo que se usa Windows), y situarse en el directorio
donde se encuentran el ejecutable y el archivo de texto creado.
• Escribir lo siguiente: nombre_ejecutable.exe<archive_texto.txt (en nuestro ejemplo, sería
Tema4.exe<in.txt). Esto hace que el programa tome como entrada el contenido del archivo de texto
(como si fuesen datos introducidos por teclado). Con esto nos evitamos introducir los datos por teclado
cada vez que ejecutemos el programa.
Modelo de encabezado para cada programa:
/*Ejercicio X. Integrantes:
Nombre 1
Nombre 2
Nombre 3
*/
#include<stdio.h>
char mayusculas(char c);
int main(){
char c;
printf("Ingrese el caracter: \n");
scanf("%c",&c);
c=mayusculas(c);
printf("El nuevo caracter es: %c",c);
return 0;
}