Python基礎アルゴリズムトレーニング - 関数と再帰 (51~55)

Python基礎アルゴリズムトレーニング~関数と再帰(51~55)
51. 回文平方数
【タイトル説明】
回文数とは、左から右に読んでも、右から左に読んでも同じになる数のことを指します。たとえば、12321 は典型的な回文番号です。
基数 B (2≤B≤20、10 進数で表現) を指定すると、基数 B で表現したときに 2 乗が回文となる 1 以上 300 (10 進数) 以下のすべての数値を出力します。1010、1111 などを表すには、A、B... を使用します。
[入力]
合計 1 行、単一の整数 B (B は 10 進数で表現)。
[出力]
各行には要件を満たす 2 つの B 進数があり、2 番目の数値は最初の数値の 2 乗であり、2 番目の数値は回文です。
【入力例】
10
【出力例】
1 1
2 4
3 9
11 121
22 484
26 676
101 10201
111 12321
121 14641
202 40804
212 44944
264 69696

def tenToM(n,m):
    s=""
    while n:
        if n%m<10:
            s=chr(n%m+ord('0'))+s
        else:
            s=chr(n%m-10 + ord('A'))+s
        n//=m
    return s
def is_Hw(s):
    l=len(s)
    for i in range(l//2):
        if s[i]!=s[l-1-i]:
            return False
    return True

m=int(

おすすめ

転載: blog.csdn.net/lybc2019/article/details/131657433