Fácil 0 resolvidos 0% de aceitação

Ano Bissexto

Verifique se um ano segue a regra dos anos bissextos do calendário gregoriano.

O que você vai aprender

  • Combinar regras de divisibilidade com and/or
  • Aplicar a exceção dos séculos
  • Escrever uma condição clara em uma linha

Problema

Ver original (inglês)

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

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

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

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.