يرجى إضافة وصلات داخلية للمقالات المتعلّقة بموضوع المقالة.

قسمة متكررة

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

القسمة المتكررة (بالإنجليزية: 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

السرعة

π(2n/2)2n/2(n2)ln2

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

مراجع

  1. ^ "معلومات عن قسمة متكررة على موقع mathworld.wolfram.com". mathworld.wolfram.com. مؤرشف من الأصل في 2018-10-22.

وصلات خارجية