星期一(蓝桥杯省赛2018C/C++A组第二题)
作者:互联网
题目:
整个 20 世纪(1901 年 11 月 11 日至 2000 年 12 月 31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
思路:
- 计算总天数
- 通过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;
}
总结:
- 闰年的判断:四年一闰,百年不闰,四百年再闰。
标签:11,allday,int,31,C++,蓝桥,2018C,isLeadyear,1901 来源: https://blog.csdn.net/weixin_40934238/article/details/122784647