本文主要是介绍2018蓝桥杯C++A组——星期一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 问题描述
- 题目解析
- C++代码
- 正确答案
问题描述
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?
注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字。
题目解析
算出1901年第一天开始到2000年最后一天的总天数sum(注意闰年的判断),
sum=36525(天);由于2000年12月31日是周日,按照周日,六,五,四,三,二,一的顺序往前推,共有36525/7=5217 个循环,余数是6。向下取整即是问题的解。
C++代码
#include<bits/stdc++.h>
using namespace std;
bool is_year(int n) //判断是否为闰年
{if((n%4==0&&n%100!=0)||n%400==0) return true;return false;
}
int main()
{int sum_year=0;for(int i=1901;i<2001;i++){if(is_year(i)) sum_year+=366;else sum_year+=365;}cout<<sum_year/7;
}
正确答案
这篇关于2018蓝桥杯C++A组——星期一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!