Python で回文を効率的にチェックする
C プログラミングでは、数値が回文であるかどうかをチェックするときに、ネストされた for ループが必要になることがよくあります。ただし、Python は、より効率的で Python 的なアプローチを提供します。
Python の回文チェック:
回文をチェックする簡単で Python 的な方法は、元の文字列を反転した文字列と比較することです。対応するもの:
def is_palindrome(n): return str(n) == str(n)[::-1]
[::-1] スライスは文字列を反転します。それを元の文字列と比較することで、それが回文であるかどうかを判断できます。
For ループの回避:
提供されたコードは、for ループを使用して回文をチェックします。時間がかかる可能性があります。代わりに、上記の方法を使用して回文を直接チェックできます。これにより、不要なループが不要になります。
最適化された積の計算:
2 番目の質問では、ネストされた for ループを使用して回文 3 桁の整数の積を求めます。最適化することができます。より効率的なアプローチは次のとおりです。
max_product = 0 for i in range(999, 100, -1): for j in range(i, 100, -1): product = i * j if is_palindrome(product) and product > max_product: max_product = product
内部ループを 999 ではなく 'i' で開始することで、反復回数が減り、速度が向上します。
追加リソース:
以上がPython で効率的に回文をチェックし、関連する計算を最適化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。