Einfach 0 gelöst 0% Erfolgsquote

Days in a Month

Return how many days a month has, including leap years.

Das lernst du

  • Monate Tageszahlen zuordnen
  • Eine Schaltjahrregel wiederverwenden
  • Logik in kleine Funktionen aufteilen

Problem

Return the number of days in month of year in the Gregorian calendar. February has 29 days in a leap year: years divisible by 4, except those divisible by 100 unless also divisible by 400. A helper function is_leap(year) keeps the code tidy.

Implement days_in_month(year, month).

Input

year: The year. month: The month, 1 (January) to 12 (December).

Output

Return the number of days.

Einschränkungen

1 ≤ year ≤ 9,999; 1 ≤ month ≤ 12

Beispiele

Beispiel 1
Eingabe:
year = 2024
month = 2

Erwartete Ausgabe:
expected = 29
Eingabe:
long long year = 2024;
long long month = 2;

Erwartete Ausgabe:
long long expected = 29;
Eingabe:
long year = 2024;
long month = 2;

Erwartete Ausgabe:
long expected = 29;

Erläuterung

2024 is divisible by 4 and not by 100, so it is a leap year: 29 days.

Beispiel 2
Eingabe:
year = 1900
month = 2

Erwartete Ausgabe:
expected = 28
Eingabe:
long long year = 1900;
long long month = 2;

Erwartete Ausgabe:
long long expected = 28;
Eingabe:
long year = 1900;
long month = 2;

Erwartete Ausgabe:
long expected = 28;

Erläuterung

1900 is divisible by 100 but not 400, so it is not a leap year: 28 days.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Die meisten Monate haben eine feste Tageszahl; Februar hängt davon ab, ob das Jahr ein Schaltjahr ist.

Hinweis 2

Nutze eine kleine Tabelle für die Monatslängen und passe dann Februar mit der Schaltjahrregel an.

Hinweis 3

Achte bei Jahrhundertjahren auf die Regel: durch 100 teilbar reicht nicht, außer auch durch 400 teilbar.

Erwartete Komplexität

Zeit O(1), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.