Torna alle sfide
Facile 0 risolte 0% di accettazione

Anno Bisestile

Verifica se un anno segue la regola bisestile del calendario gregoriano.

Cosa imparerai

  • Combinare regole di divisibilità con and/or
  • Applicare l'eccezione dei secoli
  • Scrivere una condizione chiara su una riga

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

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

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

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.