星期一(蓝桥杯省赛2018C/C++A组第二题)

题目:

整个 20 世纪(1901 年 11 月 11 日至 2000 年 12 月 31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)

思路:

  1. 计算总天数
  2. 通过Windows下的日历查到2020.12.31是周日,总天数除以7即所求。

代码:

#include <iostream>
using namespace std;
bool isLeadyear(int a){
  return a % 400 == 0 || (a % 4 == 0 && a % 100 != 0);
}
int main()
{
  int allday = 0;
  for(int i=1901; i <= 2000; i++){
    if(isLeadyear(i)){
      allday += 366; 
    }else{
      allday += 365;
    }
  }
  cout<<allday / 7 <<endl;
  return 0;
}

总结:

  1. 闰年的判断:四年一闰,百年不闰,四百年再闰。
上一篇:Matlab中数组索引


下一篇:11