基本介紹
數學上:一般的,一個自然數,如果該自然數從左向右讀和從右向左讀都是一樣的數,則這個數為回數。比如101,32123,9999等等都是回數。
數學中有一個著名的“回數猜想”,至今沒有解決。回數猜想的內容是:你任取一個自然數,把這個數倒過來,並將這兩個數相加;然後把這個和數再倒過來,與原來的和數相加。重複這個過程,一定能獲得一個回數。
舉個例子,比如68,按上述法進行計算:
68+86=154
154+451=605
605+506=1111
只需三步就可以得到一個迴文數。
代碼實現
Python3代碼“回數猜想”實現:def is_palindrome(n): I,m=n,0 while I: m=m*10+I%10 I=I//10 if n==m: print(n) else: nn=n+m print('%d+%d=%d'%(n,m,nn)) is_palindrome(nn) is_palindrome(int(input('輸入整數:')))
代碼判斷
def is_palindrome(n): I,m=n,0 while I: m=m*10+I%10 I=I//10 return(n==m)或者可以def is_palindrome(n): s = str(n) for i in range(len(s)): return n and s[i] == s[-(i+1)]或者還可以def is_palindrome(n): return str(n) == str(n)[::-1] L = list(filter(is_palindrome, range(1000)))print(L)