首页 > 试题广场 >

日历中的数字

[编程题]日历中的数字
  • 热度指数:54 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
ElemenT马上就要毕业了,他打开日历看了看时间。发现日历上的日期都是2017-04-04这样的格式的,月和日如果不足2位数,前面都会补充0。
给定一个年份和月份,ElemenT把那个月的日期都按上述格式写到纸上,他现在想知道某种数字出现了多少次。

输入描述:
多组输入
每组输入一行,有3个数字y,m,x(1000<=y<=3000,1<=m<=12,0<=x<=9),分别代表年份,月份,和他想知道哪个数字出现的次数。


输出描述:
每组输出一个整数,表示数字x在这个月的日期里出现了多少次。
示例1

输入

2017 4 4
2000 1 0

输出

33
136

说明

第一组样例中,日中有数字4的为2017-04-04,2017-04-14,2017-04-24,4月一共有30天,因为月份中有4,所以数字4一共出现了30 + 3 = 33次   
头像 清平乐_
发表于 2023-02-27 15:38:44
暴力打表,其实可以优化 #include<iostream> using namespace std; int main(){ int y,m,x; int a,b,c,d; int flag; int sum; while(cin>> 展开全文
头像 gxufl-Ytian
发表于 2022-01-12 05:26:21
本题无难点 写得有点复杂,其实最基本的就是把年月日拆开算 #include <bits/stdc++.h> using namespace std; int day(int y, int m) { if (m == 2) { if ((y % 4 == 展开全文
头像 Y_J_Y
发表于 2022-07-28 21:01:01
写这篇题解的原由,看了下一般人的解法是先补0什么的操作,然后直接枚举每个月份的个位数(用取模即可),然而当时我脑子一抽,想了一下这不是一个简单的打表题吗,然后很快的冲完了代码,然后调bug调了几乎3个小时,终于调完之后,不禁想发一篇题解,因为是纯暴力,所以下文可能有一些看起来比较stupid的操作, 展开全文
头像 牛客626157904号
发表于 2024-11-15 17:38:35
#include <bits/stdc++.h> #include using namespace std; int nian(int year) { if(year%4==0&&year%100!=0||year%400==0) return 29; else ret 展开全文

问题信息

上传者:牛客301599号
难度:
1条回答 3702浏览

热门推荐

通过挑战的用户

日历中的数字