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

C ++Le programme calcule le nombre de jours impairs dans l'année donnée

Donné un nombre entier positif n, la tâche consiste à générer le nombre de jours impairs jusqu'à l'année donnée n.

Exemple

Entrée-: jours = 500
Sortie-: nombre de jours impairs sont: 5
Entrée-: jours = 400
Sortie-: nombre de jours impairs sont : 0

Comment calculer le nombre de jours impairs dans l'année donnée

Lors du calcul du nombre de jours impairs, la première chose à vérifier est si l'année donnée est une année bissextile, car si c'est le cas, le nombre de jours impairs change. Si l'année peut être divisée par100 ou400 divisible par, mais pas divisible par4divisible par, mais pas divisible par7Pour calculer le module du nombre total de jours, c'est-à-dire le nombre de jours dans une semaine. Par conséquent, l'année ordinaire inclut1Les jours impairs, l'année bissextile inclut2jours impairs.

Nous utilisons la méthode suivante dans le programme donné-

  • Entrer le nombre de jours comme entrée

  • Vérifier si l'année est une année bissextile ou une année ordinaire

  • Calculer le nombre de jours impairs en divisant le nombre total de jours par le module

  • Afficher le résultat final comme le nombre de jours dans l'année1Nombre de jours jusqu'à n

Algorithme

Démarrer
Étape 1-> Déclaration de la fonction pour calculer le nombre de jours impairs dans l'année donnée
   int cal_odd(int days)
   déclarer int cal_1 = days / 100
   déclarer int cal_2 = days / 400
   déclarer int check_leap = days >> 2
   déclarer int temp = days - check_leap
   SI (cal_1)
      fixer temp += cal_1
      Définir check_leap -= cal_1
   Fin
   SI (cal_2)
      Définir temp -= cal_2
      Définir check_leap += cal_2
   Fin
   déclarer int final_days = temp + check_leap * 2
   Déclarer int odd = final_days % 7
   retourner odd
étape 2-> Dans main() Déclarer int days = 500
   Appel cal_odd(days)
Arrêt

Exemple

#include <iostream>
using namespace std;
//Calcul du nombre de jours impairs dans l'année donnée
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 << "Les jours impairs sont : " << cal_odd(days);
    return 0;
}

Résultat de la sortie

Les jours impairs sont : 5