**تحديات بايثون** Largest prime factors

عند قسمة العدد 52 على اي من الرقام التلية [2, 4, 13, 26] يكون الباقي صفر.
الارقام [2, 4, 13, 26] تسمى عوامل اولية لعدد 52.
المطلوب ايجاد اكبر عامل أولي للعدد 13545444.

إعجاب واحد (1)
#challenge: largest prime factors

def largest_prime_factors(number= 52):

    factors = [ i for i in range(2, (number//2) + 1) if number%i==0 ]

    if factors:
        print("All prime factors:\n",factors)
        print("\nThe largest prime factor of the number",number,"is:",max(factors))
    else:
        print(f"The number {number} couldn't evenly divided. Only by 1 or by itselfe")


largest_prime_factors(13545444)
إعجابَين (2)

ملاحظة : هذه الاعداد ليست عوامل اولية، بل عوامل فقط.
العوامل الاوليه هى التى تقبل القسمة علي نفسها و الواحد فقط، مثل : (...2,3,5,7,11,13,17,19,23).

الحل :

def factors  (number) : return [ x for x in range (number, 1, -1) if number % x == 0]
list = factors (13545444)
print (f"all factors : {list}\nthe largest factors : {list [1 if len (list) > 2 else 0]}")
3 إعجابات