Fácil 0 resueltos 0% de aceptación

Año Bisiesto

Verifica si un año cumple la regla de años bisiestos del calendario gregoriano.

Lo que aprenderás

  • Combinar reglas de divisibilidad con and/or
  • Aplicar la excepción de los siglos
  • Escribir una condición clara en una línea

Problema

Ver original (inglés)

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

Ejemplo 1
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.

Ejemplo 2
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.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.