1000以內的回文數 Python小練習之回文數

2021-10-12 20:28:46 字數 919 閱讀 6460

「回文」是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如「我為人人,人人為我」等。在數學中也有這樣一類數字有這樣的特徵,成為回文數(palindrome number)。

設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是回文數。

寫一段**,輸入乙個5位數,判斷它是不是回文數,如何實現呢?**很簡單,以下是我的兩種方法:

方法一:

a=int(input("請輸入乙個五個數:"))

a1=a//10000 #萬位

a2=a//1000%10 #千位

a3=a//100%10 #百位

a4=a//10%10 #十位

a5=a%10 #個位

if a1==a5 and a2==a4:

print(a,"是回文數")

else:

print(a,"不是回文數")

方法二:

a=int(input("請輸入乙個五個數:"))

a1=a//10000 #萬位

a2=a%10000//1000 #千位

a3=a%10000%1000//100 #百位

a4=a%10000%1000%100//10 #十位

a5=a%10 #個位

if a1==a5 and a2==a4:

print(a,"是回文數")

else:

print(a,"不是回文數")

大家可以看出,兩種方法的區別在於對這個五位數的十位、百位、千位、的判斷不同。你還有什麼更好的方法呢?

1000以內的數

我們要求找出具有下列性質數的個數 包含輸入的自然數n 先輸入乙個自然數n n 1000 然後對此自然數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個自然數,但該自然數不能超過原數最高位數字的一半 3.加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入 第一行乙個數t,表示有...

1000以內的回文素數

問題描述 回文數是指乙個數無論從左到右還是從右到左讀都是一樣的數字 比如33,121,323,45654 等具有對稱特徵的數字 根據以上描述求1000以內的回文素數 完整 include include bool judge unsigned n return 1 void judgehuiwen ...

找1000以內的完數

完數,是一些特殊的自然數,它所有的真因子 即除了自身以外的因子 的和,恰好等於它本身。所以這裡說明一下,1不是完數,因為1只有自身這乙個因子 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 33550336等等。所以程式迴圈直接從數字2開始判斷 及執行結果如下 ...