e525. 106 彰雲嘉區複賽 - Q5 回文日期問題
標籤 : 106學年度 小崴 彰雲嘉 複賽 資訊學科能力
通過比率 : 55人/60人 ( 92% ) [非即時]
評分方式:
Tolerant

最近更新 : 2019-10-29 09:18

內容

五、回文日期問題 ( 15分 )

   

    回文數(或迴文數)是指一個像16461這樣對稱的數,即將這個數的數字按相反的順序重新排列後,所得到的數和原來的數一樣。這裡,「回文」是指正讀反讀都相同的單詞或句子。 

    日期的表示中包含年、月、日三部分,假設年以西元曆法表示固定為四位數字,月數與日期數部分若為小於10 (介於1到9之整數)則可以採用刪除或不刪除前導0的方式表示為1到9或01到09。例如,2017年1月2日可以表示為 201712, 2017012, 2017102, 20170102四種數字。從給定一個數字來看,20111102代表2011年11月2日,只代表一個日期。但數字2017102 可以代表2017年10月2日或代表2017年1月2日。數字2011102 可以代表2011年10月2日或2011年1月2日 。

    設計一個程式,輸入四位數字代表西元年(介於1000到9999 之間),輸出該年度內所有可能產生回文數的日期與個數,不同日期所轉成的回文數雖相同但需要分別計算。例如2017102 可以代表2017年10月2日或代表2017年1月2日算兩次。此問題中,需要考慮閏年的影響,閏年定義為西元年份可以被4整除但不能被100整除則為閏年。若西元年份可以被100 整除(例如 1900)則必須同時被 400 整除才是閏年 (如2000)。

 

* 測資均為官方測資

* 為模擬正式競賽,WA 時 不公開正確答案!

* 加油~ !

輸入說明

輸入資料中第一列為一整數n,代表接下來有n組測試資料。

每組測試為一個介於1000與9999之間的數字。

輸出說明

輸出該年度回文日期的個數與所有回文日期(包含重複的回文日期,重複兩次須印出兩個),回文日期由小至大依序列出,各資料間以一個空格分開。

範例輸入 #1
5
1111 
1201
2017
1340
1010
範例輸出 #1
4 111111 1111111 1111111 11111111
2 1201021 12011021
2 2017102 2017102
0
3 1010101 1010101 10100101
測資資訊:
記憶體限制: 512 MB
不公開 測資點#0 (33%): 1.0s , <1K
不公開 測資點#1 (33%): 1.0s , <1K
不公開 測資點#2 (34%): 1.0s , <1K
提示 :
標籤:
106學年度 小崴 彰雲嘉 複賽 資訊學科能力
出處:
106彰雲嘉資訊學科能力複賽 [管理者: jackyname1@g ... (☆♬○♩程式家小崴●♪✧♩) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
36768 liaoweichen1 ... (M_SQRT) e525
143 2023-08-07 22:08
26553 ck1090758@gl ... (peienwu) e525
解題
528 2021-08-13 14:09