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

C ++프로그램이 주어진 연도의奇수 일수를 계산합니다

주어진 정수 값 n을 가지고, n년까지의 홀수 일수를 생성하는 작업입니다.

示例

Input-: days = 500
Output-: number of odd days are: 5
Input-: days = 400
Output-: number of odd days are: 0

如何计算给定年份中的奇数天数

在计算奇数天数时,我们需要检查的第一件事是给定年份是否为leap年,因为如果是leap年,则奇数天数将发生变化。如果年份可以被100或400整除,但不能被4整除,则该年份将是the年,否则它将是普通年份。如果我们用7来计算总天数的模数,即一周中的天数。因此,普通年包括1奇数日,leap年包括2个奇数日。

我们在给定程序中使用的方法如下-

  • 输入天数作为输入

  • 检查年份是a年还是普通日

  • 通过将天总数除以模数来计算奇数天

  • 将最终结果显示为一年中从1到n的天数

算法

Start
Step 1-> 声明函数计算给定年份中的奇数天数
   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->In main() Declare int days = 500
   call cal_odd(days)
Stop

示例

#include <iostream>
using namespace std;
//计算给定年份中的奇数天数
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 << \
    return 0;
}

출력 결과

홀수 일수는 다음과 같습니다: 5