جواب سوال هشتم ProjectEuler: بزرگترین حاصلضرب یک سری

پروژه اویلر

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

چهار رقم مجاور که بیشترین حاصلضرب را در عدد هزار رقمی زیر دارند 9989 هستند که حاصلضرب آنها برابر با 5832 می گردد.

13 رقمی که بیشترین حاصلضرب را در این عدد دارند یافته و حاصلضرب را اعلام کنید.

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

bigNum=7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450
prod,maxProd=1,0
numToStr=str(bigNum)
length=len(numToStr)
for i in range(1,length-13+1):
    prod=1
    for z in range(i,i+13):
        prod=prod*int(numToStr[z-1:z])
        if prod>maxProd:
            maxProd=prod
print (maxProd)

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

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