主要考点:常识!世纪闰年/普通闰年,还有1901年1月1日是星期二!deam it!
突然发现,1901.1.1是周二的话就不用管整除7的问题了,直接用总天数/7就可以得到答案,因为如果把周二当成每个周的开端,则周一则是每周的最后一天,只要这周不够7天就没周一,所以不用管。坑爹玩意!
#include <iostream>
#include<math.h>
using namespace std;
bool isRunNian(int year){
if(year % 100 == 0){
if(year % 400 == 0) return true; //世纪年
}
else if(year % 4 == 0) return true;
return false;
}
int main()
{
// 请在此输入您的代码
long long days = 0;
for(int year=1901; year<2001; year++){
if(isRunNian(year)) days += 366;
else days += 365;
}
days -= 6; //1901年1月1日是星期二,去掉这个星期
cout << ceil(days / 7.0) <<endl; //求星期一,则表示除整7后多出来一天就多一个星期一
return 0;
}