جواب سوال سوم ProjectEuler: بزرگترین فاکتور عدد اول

پروژه اویلر

چالش سوم سایت projecteuler.net این هست:

فاکتورهای عدد اول برای 13195 اعداد 5، 7، 13 و 29 می باشند.

بزرگترین فاکتور عدد اول برای عدد 600851475143 را پیدا کنید.

همانطور که اطلاع دارید در حل یک مسئله برنامه نویسی راه حل های مختلفی وجود دارد، ما در این سایت اولین راه حلی که توسط آن به جواب می رسیم را به نمایش خواهیم گذاشت و شما میتوانید راه حل های خودتان را در کدنویسی اعمال نمایید و یا پس از ورود جواب صحیح در سایت به بخش مباحث مربوط به آن چالش مراجعه کرده و راه حل های مختلف دیگر کاربران را مشاهده نمایید. همچنین می توانید از بخش نظرات این پست هم برای انتشار کدهایتان و یا بحث درمورد این مسئله استفاده نمایید.

نکته قابل توجه این است که فاکتور عدد اول با عدد اول متفاوت است!

def euler3(num):
     while num % 2 == 0:
         num = num // 2
     import math
     sq = int(math.sqrt(num)+1)
     ans = -1
     for i in range(3,sq,2):
         while num % i == 0:
             ans = max(ans,i)
             num = num // i
     ans = max(ans,num)
     return ans

print(euler3(600851475143 ))

یک دیدگاه در “جواب سوال سوم ProjectEuler: بزرگترین فاکتور عدد اول”

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.