題目連結(jié):
題目意譯:
一個整數(shù) n 如果滿足對於每個 b 進(jìn)位制(b 介於 2(含)到 n - 2(含)之間),整數(shù) n 於該進(jìn)位制下之字串表示法皆為迴文,則此數(shù)將是「嚴(yán)格迴文」。
給定一整數(shù) n,如果 n 是嚴(yán)格迴文則回傳真(True);反之,則回傳假(False)。
一個字串如果從左至右和從右至左讀都一樣,則為一個迴文。
限制:
4 ≦ n ≦ 10 ^ 5
範(fàn)例測資:
範(fàn)例 1:
輸入: n = 9
輸出: false
解釋: 在 2 進(jìn)位制中:9 = 1001(2 進(jìn)位),其為一個迴文。
在 3 進(jìn)位制中:9 = 100(3 進(jìn)位),其不是一個迴文。
因此,9 不是一個嚴(yán)格迴文,所以我們回傳假。
注意到在 4 、 5 、 6 和 7 進(jìn)位制中,n = 9 也不是迴文。
範(fàn)例 2:
輸入: n = 4
輸出: false
解釋: 我們只考慮 2 進(jìn)位制:4 = 100(2 進(jìn)位),其並非一個迴文。
因此我們回傳假。
解題思維:
這樣的數(shù)字不存在。就是這麼單純。
證明也很單純:
假設(shè)存在一個嚴(yán)格迴文數(shù)字 x。則根據(jù)定義 x 必須滿足在 x - 2 進(jìn)位制下為一個迴文。而我們試圖把 x 轉(zhuǎn)成 x - 2 進(jìn)位制可以發(fā)現(xiàn)該數(shù)必定以
100…002
之形式出現(xiàn)。而該數(shù)字字串並非迴文。除非 x = 4,在此例下該字串為 100,同樣也不是迴文。證畢。
因此我們可以直接回傳假,因?yàn)椴豢赡艹霈F(xiàn)真的情況。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。