Menyemak Palindrom dengan Cekap dalam Python
Dalam pengaturcaraan C, menyemak sama ada nombor ialah palindrom selalunya melibatkan gelung bersarang. Walau bagaimanapun, Python menawarkan pendekatan yang lebih cekap dan Pythonic.
Pythonic Palindrome Checking:
Cara mudah dan Pythonic untuk menyemak palindrom ialah membandingkan rentetan asal dengan terbaliknya rakan sejawatannya:
def is_palindrome(n): return str(n) == str(n)[::-1]
Hirisan [::-1] membalikkan rentetan dan dengan membandingkannya dengan rentetan asal, kita boleh menentukan sama ada ia adalah palindrom.
Mengelakkan Untuk Gelung:
Kod yang disediakan menggunakan gelung untuk menyemak palindrom, yang boleh menjadi masa- memakan. Sebaliknya, anda boleh menggunakan kaedah di atas untuk menyemak palindrom secara langsung. Ini menghapuskan keperluan untuk gelung yang tidak perlu.
Pengiraan Produk Dioptimumkan:
Untuk soalan kedua, gelung bersarang untuk digunakan untuk mencari hasil darab integer 3 digit palindromik boleh dioptimumkan. Berikut ialah pendekatan yang lebih cekap:
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
Dengan memulakan gelung dalam pada 'i' dan bukannya 999, anda mengurangkan bilangan lelaran dan meningkatkan kelajuan.
Sumber Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Python Boleh Memeriksa Palindrom dengan Cekap dan Mengoptimumkan Pengiraan Berkaitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!