Problema
Un anno divisibile per 4 è bisestile, a meno che non sia anche divisibile per 100. Gli anni divisibili per 400 sono comunque bisestili, nonostante questa eccezione. Applica questa regola aritmetica a ogni anno di input consentito.
Implementa leap_year(year).
Input
year: L'anno da verificare.
Output
Restituisci true se l'anno è bisestile, altrimenti false.
Vincoli
1 ≤ year ≤ 9999.
Esempi
Input:
year = 2024
Output atteso:
expected = True
Input:
long long year = 2024;
Output atteso:
bool expected = true;
Input:
long year = 2024;
Output atteso:
bool expected = true;
Spiegazione
2024 è divisibile per 4 e non per 100.
Input:
year = 2100
Output atteso:
expected = False
Input:
long long year = 2100;
Output atteso:
bool expected = false;
Input:
long year = 2100;
Output atteso:
bool expected = false;
Spiegazione
2100 è divisibile per 100 ma non per 400, quindi si applica l'eccezione del secolo.
Come affrontarlo
Prova prima da solo, poi apri un suggerimento alla volta.
Suggerimento 1
La maggior parte degli anni segue la regola del divisibile per 4, ma i secoli sono eccezioni.
Suggerimento 2
Un anno divisibile per 400 è comunque bisestile, anche se è divisibile per 100.
Suggerimento 3
Controlla l’eccezione prima di scartare gli anni secolari, altrimenti potresti classificare male anni come 2000.
Complessità attesa
tempo O(1), spazio aggiuntivo O(1)
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.