Problema
Um ano divisível por 4 é bissexto, a menos que também seja divisível por 100. Anos divisíveis por 400 são bissextos apesar dessa exceção. Aplique essa regra aritmética para todo ano de entrada permitido.
Implemente leap_year(year).
Entrada
year: O ano a ser verificado.
Saída
Retorne true para um ano bissexto e false caso contrário.
Restrições
1 ≤ year ≤ 9999.
Exemplos
Entrada:
year = 2024
Saída esperada:
expected = True
Entrada:
long long year = 2024;
Saída esperada:
bool expected = true;
Entrada:
long year = 2024;
Saída esperada:
bool expected = true;
Explicação
2024 é divisível por 4 e não por 100.
Entrada:
year = 2100
Saída esperada:
expected = False
Entrada:
long long year = 2100;
Saída esperada:
bool expected = false;
Entrada:
long year = 2100;
Saída esperada:
bool expected = false;
Explicação
2100 é divisível por 100 mas não por 400, então a exceção do século se aplica.
Como abordar
Tente sozinho primeiro e depois abra uma dica de cada vez.
Dica 1
A maioria dos anos segue a regra de divisível por 4, mas os séculos são exceções.
Dica 2
Um ano divisível por 400 ainda é bissexto, mesmo sendo também divisível por 100.
Dica 3
Verifique a exceção antes de rejeitar anos de século, ou você pode classificar errado anos como 2000.
Complexidade esperada
O(1) tempo, O(1) espaço extra
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.