该题比较简单,代码如下
法1
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include <iomanip>
#include<cmath>
#include<cstring>
#include<cctype>
#include<queue>
using namespace std;
int main()
{
int sum_day = 0,cn=0,mon=0;
for (int i = 1901; i <= 2000; i++)//计算全部年份天数之和
{
if ((i % 4 == 0 && i % 100 != 0) || (i % 400) == 0)
{
sum_day += 366;
}
else
{
sum_day += 365;
}
}
sum_day -= 6;//由于2000.12.31是星期天,所以-=6使我们下面方便判断是否是星期一
for (int i = sum_day; i > 0; i--,cn++)
{
if (cn % 7 == 0)//注意这里cn%7,当cn=0的时候也成立,所以我们上面才-=6
{
mon++;
}
}
cout << mon<< endl;
return 0;
}
法2
#include <iostream>
using namespace std;
int res;
//先判断润年
bool is_r(int n)
{
if((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
return true;
return false;
}
int main()
{
for(int i = 1901;i <= 2000;i ++)
if(is_r(i)) res += 366;
else res += 365;
int x = res / 7;
cout << x << endl;
return 0;
}