Clase 8
Temas: Revisión de tareas y práctica.
Solución de Tarea
Problema: https://omegaup.com/arena/problem/nofib#problems
Solución
/*
https://omegaup.com/arena/problem/nofib#problems
*/
#include<stdio.h>
#include<stdlib.h>
int is_fib_number(int fib[100], int N) {
// Recorremos los numeros de fibonacci almacenados
// en búsqueda de que no exista
for (int i = 0; fib[i] <= N; i++) {
// Si existe retornamos 1
if (N == fib[i]) {
return 1;
}
}
// Retornamos 0 si no existe
return 0;
}
int main(int argc, char const *argv[]) {
int fib[100];
int N;
// Encontramos los numeros fibonacci y los guardamos en un arreglo
fib[0] = 1;
fib[1] = 2;
for (int i = 2; fib[i-1] <= 30000; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
// Leer el numero
scanf("%d", &N);
// Buscamos los números menores a N
for (int i = 3; i < N; i++) {
if (is_fib_number(fib, i) == 0) {
printf("%d ", i);
}
}
return 0;
}
Siguientes pasos:
Repasar y reescribir el código a C++
Cambiar las bibliotecas stdio.h y stdlib.h por sus correspondientes en C++
Cambiar las funciones scanf y printf por sus correspondientes en C++
La función is_fib_number debe retornar una variable de tipo Booleana en vez de una de tipo Entero
Opcional: Usar estructura vector en vez de un arreglo de enteros. Referencia: http://www.cplusplus.com/reference/vector/vector/
Tarea
Problema:
Encontrar cuántos horas, minutos y segundos de diferencia hay entre dos horas dadas.
Entrada
3 enteros H1, M1, S1 representando las horas, minutos y segundos de la primer hora
3 enteros H2, M2, S2 representando las horas, minutos y segundos de la segunda hora
Salida
Tres enteros indicando las horas, minutos y segundos de diferencia entre las dos horas.
Ejemplo:
Entrada
14 59 59
16 22 22
Salida
1 22 23
Last updated