2017-12-04 4 views
0

一連の番号(100〜999)の製品が回文かどうかを確認しようとしています。私は私のpalindromeチェッカーを働かせているが、私は私のループにそれを取り入れようとすると、私はすべての可能な答えを得られない。私は、この範囲内のすべての回文を取得する必要がありますパインドームチェッカーがループしたときに正しい値を与えていない

def pali_check(n): 
    n = str(n) 
    pali = n[::-1] 
    if pali == n: 
    print(pali) 

for x in range(999,99,-1): 
    product = x*(x+1) 
    pali_check(product) 

(例:1は906609です)

しかし、私が得る唯一の値は、それは私に可能性のすべてを与えるように私は私のコードを修正することができますどのよう289982.です結果?

答えて

0
906609 = 913 * 993 

あなただけのn *をチェックする(N + 1)されているので、あなたは文句を言わない、あなたがそれを見つけている理由を一方1

289982 = 538 * 539 

はそのためであることを見つける

ネストされたループを使用して、2つのループ変数を掛け合わせてください。

for x in range(999, 99, -1): 
    for y in range(999, 99, -1): 
     product = x * y 
     pali_check(product) 

上記を簡単に最適化して重複を防ぐことができます

関連する問題