Bagaimana Mencari Faktor Nombor dengan Cekap dalam Python?

DDD
Lepaskan: 2024-10-30 01:47:02
asal
920 orang telah melayarinya

How to Find Factors of a Number Efficiently in Python?

Mencari Faktor Nombor dengan Cekap dalam Python

Menentukan faktor nombor ialah tugas biasa dalam pelbagai domain, dan Python menawarkan berbilang cara yang cekap untuk mencapainya.

Satu pendekatan yang dioptimumkan melibatkan penggunaan fungsi kurangkan Python bersama dengan pemahaman senarai. Penyelesaian ringkas ini secara berkesan mencari semua faktor bagi nombor tertentu.

<code class="python">from functools import reduce

def factors(n):
    return set(reduce(
        list.__add__,
        ([i, n//i] for i in range(1, int(n**0.5) + 1) if n % i == 0)))</code>
Salin selepas log masuk

Rasional:

  • Ungkapan penjana ([i, n//i ] untuk i dalam julat(1, int(n**0.5) 1) jika n % i == 0)) menghasilkan pasangan faktor [faktor1, faktor2] dengan faktor1 kurang daripada atau sama dengan punca kuasa dua nombor n . Pengoptimuman ini mengurangkan masa pengiraan.
  • Fungsi pengurangan menggabungkan senarai pasangan ke dalam satu senarai, manakala struktur data yang ditetapkan mengalih keluar sebarang pendua yang mungkin berlaku dalam kes kuasa dua sempurna.
  • Untuk nombor n, pemahaman senarai hanya perlu gelung sehingga punca kuasa dua n kerana nombor itu sendiri sentiasa boleh digandingkan dengan 1 sebagai faktor.

Atas ialah kandungan terperinci Bagaimana Mencari Faktor Nombor dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!