回文日期串

2021-10-18 13:26:21 字數 883 閱讀 8530

今天做題目的時候遇到的型別,在做的時候我不止一次的懷疑我腦子不行。沒辦法不會就是不會,只好請教同學搞懂之後記錄下來防止再錯。

下面是題目描述:

回文日期串是指乙個由年(由四個字元組成)、月(由兩個字元組成)、日(由兩個字元組成)組成的八位字串,同時它又是乙個回文串。乙個合法的回文日期串需要保證逆序後其年、月、日也必須是合法的。例如:20011002和20200202是合法的回文日期串,而20088002和20000002則不是合法的回文日期串。請輸入乙個起始日期和乙個結束日期,統計兩個日期之間(包括起始日期和結束日期)有多少個合法的回文日期串?

下面是輸入描述:輸入兩行,每行乙個日期。輸入保證年、月、日均合法,且年為大於等於1000的四位數。

樣例輸入:2000-01-01 3000-12-31

樣例輸出:36

解題思路:

首先無論這個題目再怎麼離譜他都逃不開乙個關鍵字:回文數

解題的的核心也就是回文數。輸入的是兩個字串,自然會想到用兩個字元陣列來接收。我們最終要把這兩個日期轉化成數字(這裡要注意範圍)這是個八位的回文數我們主要看前四位

**如下

#include

using namespace std;

int main()

;for

(int i =

1; i <=

12; i++)*

[html]:

//這裡是關鍵部分

for(int j =

1; j <= month[i]

; j++

)printf

("%d\n"

, ans)

;}

zufeoj 回文日期

在日常生活中,通過年 月 日這三個要素可以表示出乙個唯一確定的日期。牛牛習慣用8位數字表示乙個日期,其中,前4位代表年份,接下來2位代表月 份,最後2位代表日期。顯然 乙個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,乙個日期是回文的,當且僅當表示這個日期的8位數字是回文的。...

回文日期 暴力

眾所周知,小k是nowcoder的 苟管理,所以小k很擅長踢樹,雖然本題與踢樹無關 小k喜歡將日期排列成yyyy mm dd的形式 位數不足添零補齊 的形式,雖然這與小k只會做回文字串這道水題無關,但小k覺得日期組成的回文串也是挺可愛的。作為乙個涼心出題人,小k決定給你乙個可愛的問題 給你兩個日期,...

回文日期 題解

方法一 輸入起始結束日期 9for i 1 i 12 i 10 20 21 cout 22return0 23 方法二 1 include2 using namespace std 3int main 4 列出每個月份對應的最大天數,注意2月份用最大29天 7 cin date1 date2 輸入起...