日曆中的數字

2021-10-02 14:54:35 字數 1534 閱讀 5624

題目描述

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...