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

مراجع عدل

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

وصلات خارجية عدل