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

C ++El programa calcula el número de días impares en un año dado

Dada una valor entero positivo n, la tarea es generar los días impares hasta el año dado n.

Ejemplo

Entrada-: días = 500
Salida-: número de días impares son: 5
Entrada-: días = 400
Salida-: número de días impares: 0

¿Cómo calcular el número de días impares en un año dado

En el cálculo del número de días impares, lo primero que debemos verificar es si el año dado es un año bisiesto, porque si es un año bisiesto, el número de días impares cambiará. Si el año puede ser100 o400 divisible, pero no puede ser4divisible, entonces ese año será el año bisiesto, de lo contrario será un año común. Si usamos7para calcular el módulo del número total de días, es decir, el número de días en una semana. Por lo tanto, los años comunes incluyen1Los días impares, el año bisiesto incluye2días impares.

La manera en que usamos el método en el programa dado es la siguiente-

  • Introducir los días como entrada

  • Comprobar si el año es a o común

  • Calcular el módulo del número total de días dividiendo por el módulo, es decir, el número de días en una semana. Por lo tanto, los años comunes incluyen

  • Mostrar el resultado final como el número de días del año desde1Días hasta n

Algoritmo

Start
Step 1->Declaración de la función para calcular el número de días impares en un año dado
   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
step 2->En main() Declare int days = 500
   llama a cal_odd(days)
Stop

Ejemplo

#include <iostream>
using namespace std;
//Calcular el número de días impares en un año dado
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 << "Los días impares son: " << cal_odd(days);
    return 0;
}

Resultados de salida

Días impares son: 5