題目:
在日常生活中,通過年、月、日這三個要素可以表示出乙個唯一確定的日期。
牛牛習慣用 8 位數字表示乙個日期,其中,前 4 位代表年份,接下來 2 位代表月份,最後 2 位代表日期。
顯然:乙個日期只有一種表示方法,而兩個不同的日期的表示方法不會相同。
牛牛認為,乙個日期是回文的,當且僅當表示這個日期的8位數字是回文的。
現在,牛牛想知道:在他指定的兩個日期之間(包含這兩個日期本身),有多少個真實存在的日期是回文的。
乙個 8 位數字是回文的,當且僅當對於所有的 i(1≤i≤8) 從左向右數的第i個數字和第 9−i 個數字(即從右向左數的第 i 個數字)是相同的。
例如:•對於2023年11月19日,用 8 位數字 20161119 表示,它不是回文的。
•對於2023年1月2日,用 8 位數字 20100102 表示,它是回文的。
•對於2023年10月2日,用 8 位數字 20101002 表示,它不是回文的。
輸入格式
輸入包括兩行,每行包括乙個8位數字。
第一行表示牛牛指定的起始日期date1,第二行表示牛牛指定的終止日期date2。保證date1和date2都是真實存在的日期,且年份部分一定為4位數字,且首位數字不為0。
保證date1一定不晚於date2。
輸出格式
輸出共一行,包含乙個整數,表示在date1和date2之間,有多少個日期是回文的。
輸入樣例:
20110101
20111231
輸出樣例:
1題意:輸入兩
個時期,
求這兩個
日期之間
回文日期
的個數。
輸入兩個時期,求這兩個日期之間回文日期的個數。
輸入兩個時期
,求這兩
個日期之
間回文日
期的個數
。 題意:因為回
文日期的
前四位與
後四位是
對稱的,
因此,只
要前四位
確定了,
那麼後四
位也將確
定。
因為回文日期的前四位與後四位是對稱的,因此,只要前四位確定了,那麼後四位也將確定。
因為回文日期
的前四位
與後四位
是對稱的
,因此,
只要前四
位確定了
,那麼後
四位也將
確定。
枚 舉d
ata1
到dat
a2之間
的年份,
然後判斷
日期是否
合法即可
。列舉data_1到data_2之間的年份,然後判斷日期是否合法即可。
列舉data
1到d
ata2
之間的
年份,然
後判斷日
期是否合
法即可。注意
點:①、
閏年判斷
′能被4
整除且不
能被
100整除′
或′能被
400整除′
。注意點:①、閏年判斷\ '能被4整除且不能被100整除'\ 或\ '能被400整除'。
注意點:①、
閏年判斷
′能被4
整除且不
能被10
0整除′
或′能被
400整
除′。
② 、對
列舉的每
乙個回文
日期,要
先判斷是
否在da
ta1到
data
2之間,
年份在,
月份仍可
能不在。
②、對列舉的每乙個回文日期,要先判斷是否在data_1到data_2之間,年份在,月份仍可能不在。
②、對列舉的
每乙個回
文日期,
要先判斷
是否在d
ata1
到da
ta2
之間,年
份在,月
份仍可能
不在。
**:
#include
#include
#include
#include
#include
#include
#define ll long long
#define inf 0x7fffffff
using
namespace std;
int data1,data2,ans;
int day[13]
=;bool
check
(int data)
return
true;}
intmain()
if(data>=data1&&data<=data2&&
check
(data)
) ans++
;///
} cout
}
AcWing 1346 回文平方
回文數是指數字從前往後讀和從後往前讀都相同的數字。例如數字 12321 就是典型的回文數字。現在給定你乙個整數 b,請你判斷 1 300之間的所有整數中,有哪些整數的平方轉化為 b 進製後,其 b 進製表示是回文數字。輸入格式 乙個整數 b。輸出格式 每行包含兩個在 b 進製下表示的數字。第乙個表示...
NC16438 回文日期
牛客網 題目要求統計回文日期,相當於回文字串,可以考慮使用遍歷 如果固定年份,對月和日進行遍歷再判斷是否回文效率太低,可以直接遍歷月和日,根據月和日構造回文的日期,這樣最多只有366種可能。列出所有的回文日期以後再判斷是否再輸入的區間之內即可 include using namespace std ...
P2010 回文日期
呃呃呃,這個題我寫的 比較繁瑣,不過自認為還是很容易理解的。輸入的是兩個日期,如果把它看成乙個數的話,資料範圍也就是10000000 99999999 而且在其中很多數是不會出現的 必須是真實存在的日期 如果是從輸入的第乙個數到第二個數迴圈一次的話,1s的時間限制也是能過的,迴圈的時候,要判斷這個數...