HNUCM 1953 回文日期串

2021-10-19 02:17:16 字數 1020 閱讀 4156

回文日期串是指乙個由年(由四個字元組成)、月(由兩個字元組成)、日(由兩個字元組成)組成的八位字串,同時它又是乙個回文串。

乙個合法的回文日期串需要保證逆序後其年、月、日也必須是合法的。

例如:20011002和20200202是合法的回文日期串,而20088002和20000002則不是合法的回文日期串。

請輸入乙個起始日期和乙個結束日期,統計兩個日期之間(包括起始日期和結束日期)有多少個合法的回文日期串?

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

兩個日期之間(包括起始日期和結束日期)合法的回文日期串的數量。

2000-01-01

3000-12-31

思路:每一年最多隻可能有乙個回文日期串,所以用遍歷年份的方式找回文日期。

遇到的問題:最初我a,b開的長度都是10,測試的時候發現輸出的字串a為空。是因為字串以』\0』為結束符,而我輸入剛好十個字元,沒有空間讓其自動加上結束符。

#include

using

namespace std;

intmain()

;int p[13]

=;int ans=0;

scanf

("%s"

,a);

scanf

("%s"

,b);

//將輸入的字串轉換為八位數字

for(

int i=

0;i<

10;i++)}

cn=c/

10000

;for

(int i=

0;i<

10;i++)}

dn=d/

10000

;for

(int i=cn;i<=dn;i++

)else

}printf

("%d\n"

,ans)

;}

HNUCM OJ T1953 C語言 回文日期串

題目描述 回文日期串是指乙個由年 由四個字元組成 月 由兩個字元組成 日 由兩個字元組成 組成的八位字串,同時它又是乙個回文串。乙個合法的回文日期串需要保證逆序後其年 月 日也必須是合法的。例如 20011002和20200202是合法的回文日期串,而20088002和20000002則不是合法的回...

NC16438 回文日期

牛客網 題目要求統計回文日期,相當於回文字串,可以考慮使用遍歷 如果固定年份,對月和日進行遍歷再判斷是否回文效率太低,可以直接遍歷月和日,根據月和日構造回文的日期,這樣最多只有366種可能。列出所有的回文日期以後再判斷是否再輸入的區間之內即可 include using namespace std ...

P2010 回文日期

呃呃呃,這個題我寫的 比較繁瑣,不過自認為還是很容易理解的。輸入的是兩個日期,如果把它看成乙個數的話,資料範圍也就是10000000 99999999 而且在其中很多數是不會出現的 必須是真實存在的日期 如果是從輸入的第乙個數到第二個數迴圈一次的話,1s的時間限制也是能過的,迴圈的時候,要判斷這個數...