English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C ++Das Programm berechnet die Anzahl der ungeraden Tage im gegebenen Jahr

Geben Sie einen positiven Ganzzahlwert n an, die Aufgabe ist es, die ungeraden Tage bis zum angegebenen Jahr n zu generieren.

Beispiel

Eingabe-: Tage = 500
Ausgabe-: Die Anzahl der ungeraden Tage ist: 5
Eingabe-: Tage = 400
Ausgabe-: Die Anzahl der ungeraden Tage ist: 0

Wie berechnet man die ungeraden Tage eines bestimmten Jahres

Bei der Berechnung der ungeraden Tage müssen wir zunächst überprüfen, ob das Jahr ein Schaltjahr ist, da sich die ungeraden Tage ändern, wenn es ein Schaltjahr ist. Wenn das Jahr durch100 oder400 teilen, aber nicht durch4teilen, aber nicht durch7Um den Moduln der Gesamttage zu berechnen, das ist die Anzahl der Tage in der Woche. Daher sind gewöhnliche Jahre1ungeraden Tagen, einschließlich Schaltjahren2ungeraden Tagen.

Wir verwenden in unserem Programm die folgenden Methoden-

  • Gib die Tage als Eingabe an

  • Überprüfe, ob das Jahr a ein Schaltjahr ist oder ein gewöhnliches Jahr

  • Berechne die ungeraden Tage durch das Teilen der Gesamttage durch den Moduln

  • Zeige das Endresultat als das Jahr von1Tage bis n

Algorithmus

Start
Schritt 1->Erklärung der Funktion zur Berechnung der ungeraden Tage eines bestimmten Jahres
   int cal_odd(int days)
   declare int cal_1 = days / 100
   declare int cal_2 = days / 400
   declare int check_leap = days >> 2
   declare int temp = days - check_leap
   IF (cal_1)
      set temp += cal_1
      Set check_leap -= cal_1
   End
   IF (cal_2)
      Set temp -= cal_2
      Set check_leap += cal_2
   End
   declare int final_days = temp + check_leap * 2
   Declare int odd = final_days % 7
   return odd
Schritt 2->In main() Declare int days = 500
   call cal_odd(days)
Stop

Beispiel

#include <iostream>
using namespace std;
//Berechnung der ungeraden Tage eines bestimmten Jahres
int cal_odd(int days) {
    int cal_1 = days / 100;
    int cal_2 = days / 400;
    int check_leap = days >> 2;
    int temp = days - check_leap;
    if (cal_1) {
        temp += cal_1;
        check_leap -= cal_1;
    }
    if (cal_2) {
        temp -= cal_2;
        check_leap += cal_2;
    }
    int final_days = temp + check_leap * 2;
    int odd = final_days % 7;
    return odd;
}
int main() {
    int days = 500;
    cout << "Unglückliche Tage sind: " << cal_odd(days);
    return 0;
}

Ausgabeergebnis

Ungerechte Tage sind: 5