第二题
标题:星期一
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?
(不要告诉我你不知道今天是星期几)
注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字。
解析
算出1901年第一天开始到2000年最后一天的总天数sum,
闰年366天,平年365天可得出sumday=36525(天);
翻电脑日历得2000年12月31日是周日,按照周日,六,五,四,三,二,一的顺序往前推,共有36525/7=5217 个循环,余数是6.
故可知一共5217个星期一
代码
#include<iostream>
using namespace std;
/*判断某年是否为闰年*/
bool Runyear(int i){//2004,2000是闰年,1900不是闰年
if((i%4==0&&i%100!=0)||i%400==0)
return true;
else
return false;
}
/*统计两个年份之间的总天数*/
int count(int m,int n){
int sumday=0;
for(;m<=n;m++){
if(Runyear(m))
sumday+=366;
else
sumday+=365;
}
return sumday;
}
int main(){
int s=count(1901,2000);
cout<<"总天数为:"<<s<<endl;
cout<<"除7循环数"<<s/7<<endl;
cout<<"除7余数为:"<<s%7<<endl;
}