東方博宜 1386 - 小麗找半個回文數(shù)
題目描述
小麗同學(xué)在編程中學(xué)到了回文數(shù)的概念,如果一個數(shù)正過來讀和反過來讀是同一個數(shù),那么這個數(shù)就是回文數(shù);比如:22、55、88、6666、121121、686686、1232112321 都是回文數(shù),小麗發(fā)現(xiàn),這樣的數(shù)不算多。
于是小麗有個想法,如果這個數(shù)不是回文數(shù),但這個數(shù)在 22 進制或者 1616 進制下是回文數(shù),就算這個整數(shù)是半個回文數(shù),比如 417417 并不是回文,但 417 對應(yīng)的 16 進制數(shù)是 1A1 是回文數(shù),因此 417 算半個回文數(shù)。
請你編程幫助小麗找符合條件的半個回文數(shù)。
輸入
第一行是一個整數(shù) n(5≤n≤100); 第二行是 n 個整數(shù)(這些整數(shù)都是[0,108] 之間的整數(shù));
輸出
所有符合條件的半個回文數(shù),每行一個。
樣例
輸入
5
121 417 27 100 21
輸出
417
27
21

思路:
1、函數(shù)部分:
定義函數(shù),先將n轉(zhuǎn)換成d進制。


d
進制的數(shù)是否是回文的,如果不是,直接return 0
或return false
,是,return 1
或return true
。

函數(shù)部分完整代碼:

2、主函數(shù)部分:
1、讀入,這句話是不是多余的

2、邊讀入每一個數(shù)x
邊判斷,
條件1:x
在10進制下不是回文數(shù)(滿足半個回文數(shù)的條件)。

條件2:
分兩種情況:
情況1:x
在2進制中是回文數(shù)。
情況2:x
在16進制中是回文數(shù)。
這兩種情況滿足一種即可。

3、滿足條件,輸出x
。

主函數(shù)部分完整代碼:


完整代碼:
