Problema
Un año divisible por 4 es bisiesto, a menos que también sea divisible por 100. Los años divisibles por 400 son bisiestos a pesar de esa excepción. Aplica esta regla aritmética a cada año permitido como entrada.
Implementa leap_year(year).
Entrada
year: El año a verificar.
Salida
Devuelve true si es un año bisiesto y false en caso contrario.
Restricciones
1 ≤ year ≤ 9999.
Ejemplos
Entrada:
year = 2024
Salida esperada:
expected = True
Entrada:
long long year = 2024;
Salida esperada:
bool expected = true;
Entrada:
long year = 2024;
Salida esperada:
bool expected = true;
Explicación
2024 es divisible por 4 y no por 100.
Entrada:
year = 2100
Salida esperada:
expected = False
Entrada:
long long year = 2100;
Salida esperada:
bool expected = false;
Entrada:
long year = 2100;
Salida esperada:
bool expected = false;
Explicación
2100 es divisible por 100 pero no por 400, así que se aplica la excepción de los siglos.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
La mayoría de los años siguen la regla de ser divisibles por 4, pero los siglos son excepciones.
Pista 2
Un año divisible por 400 sigue siendo bisiesto, aunque también sea divisible por 100.
Pista 3
Comprueba la excepción antes de rechazar los años de siglo, o podrías clasificar mal años como 2000.
Complejidad esperada
tiempo O(1), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.