题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴,因为每天日历上都可以看到 2。
如果日历中只显示年月日,请问从公元 1900 年 1 月 1 日到公元 9999 年 12 月 31 日,一共有多少天日历上包含 2。即有多少天中年月日的数位中包含数字 2。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
#include
using namespace std;
bool isyear(int x)
{
return (x % 400 == 0 || x % 4 == 0 && x % 100 != 0);
}bool check(int n)
{
while(n)
{
if(n % 10 == 2)
return true;
n /= 10;
}
return false;
}int main()
{
int cnt = 0;
for(int i = 1900;
i <= 9999;
i ++)//枚举年份
{
if(check(i)) //年份包含2
{
if(isyear(i)) cnt += 366;
else cnt += 365;
}
else
{
if(isyear(i))
cnt += 180;
//每个月含2天数 + 2月 + 12月
else
cnt += 179;
}
}
cout << cnt << endl;
return 0;
}
【算法|蓝桥云课 含2天数】
推荐阅读
- C++语言程序设计基础|第3章 函数
- 31日打卡|蓝桥杯真题31日冲刺国一 | 每日题解报告 第六天
- 剑指offer|统计回文oj
- c++|CCF 201903-1 试题名称( 小中大)
- DSP与FPGA开发|近期C6000 DSP开发小结
- 备战蓝桥杯|【蓝桥python冲刺31天】——拿下数论,冲进国赛
- 刷题|【剑指 Offer】剑指 Offer 34. 二叉树中和为某一值的路径
- python|矩阵快速幂算法及相关应用(含python源码)
- 数学随想|生态学经典(捕食者和被捕食者模型)