題目描述
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我也不知道,2333
說明第一組樣例中,日中有數字4的為2017-04-04,2017-04-14,2017-04-24,4月一共有30天,因為月份中有4,所以數字4一共出現了30 + 3 = 33次
思路:就是乙個列舉,找出所有符合的解,我的**寫的比較爛,其實在找的時候可以直接寫個函式。用乙個陣列放每個月的天數。因為二月份的天數與是否是閏年有關,所有要先判斷一下x是不是閏年。
#include
using
namespace std;
intmain()
;if((y%4==
0&&y%
100!=0)
||(y%
400)==0
) a[1]
=29;int count1=0;
int l=y;
while
(l) ans +
= a[m-1]
*count1;
int m1=m;
if(m1<10)
m1=m1*10;
int count2=0;
while
(m1)
ans +
= a[m-1]
*count2;
int count3=0;
for(
int i=
1; i<=a[m-1]
; i++)}
ans +
=count3;
cout<}return0;
}
改進後的版本
#include
using
namespace std;
int mon[13]
=;int x;
intfun
(int n)
n=n/10;
}if(l==
1&& x==0)
return cnt;
}using
namespace std;
intmain()
for(i=
1; i<=mon[m]
; i++
) mon[2]
=28; cout<}return0;
}
牛客13584 日曆中的數字
時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 題目描述 element馬上就要畢業了,他開啟日曆看了看時間。發現日曆上的日期都是2017 04 04這樣的格式的,月和日如果不足2位數,前面都會補充0。給定乙個年...
python中的日曆和時間
一 python中時間日期格式化符號 y 兩位數的年份表示 00 99 y 四位數的年份表示 000 9999 m 月份 01 12 d 月內中的一天 0 31 h 24小時制小時數 0 23 i 12小時制小時數 01 12 m 分鐘數 00 59 s 秒 00 59 a 本地簡化星期名稱 a 本...
python 中calendar 日曆模組
1,calendar.calendar 返回某一年的日曆 import calendar 返回某一年的日曆,w 3,l 2,c 10,m 2調整列印行和間隙的可以不寫 c calendar.calendar 2018,w 3,l 2,c 10,m 2 print c 2,calendar.month...