قسمة متكررة

القسمة المتكررة (بالإنجليزية: Trial division)‏ هي الخوارزمية الأكثر صعوبة من أجل تفكيكك عدد ما إلى جداء أعداد أولية ولكنها أسهل خوارزمية من حيث الفهم.[1]

الطريقة

def trial_division(n):
    """Return a list of the prime factors for a natural number."""
    if n <2: return []
    primes = prime_sieve(int(n**0.5) + 1)
    prime_factors = []

    for p in primes:
        if p*p> n: break
        while n % p == 0:
            prime_factors.append(p)
            n //= p
    if n> 1: prime_factors.append(n)

    return prime_factors

السرعة

حيث هي الدالة المعدة للأعداد الأولية الأصغر من x.

مراجع

وصلات خارجية

  • أيقونة بوابةبوابة خوارزميات
  • أيقونة بوابةبوابة علم الحاسوب
  • أيقونة بوابةبوابة نظرية الأعداد
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.