جواب سوال 12 ProjectEuler: Highly divisible triangular number

پروژه اویلر

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

توالی اعداد مثلث با اضافه کردن اعداد طبیعی ایجاد می شود. بنابراین عدد مثلث هفتم 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 خواهد بود. ده اصطلاح اول:

1: 1
 3: 1,3
 6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28

می توانیم ببینیم که 28 اولین عدد مثلثی است که بر بیش از پنج عدد قابل تقسیم است.

اولین عدد مثلثی که به بیش از 500 عدد قابل تقسیم باشد چیست؟

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

def triangleNumber(num):
    ans= int(num * (num+1) / 2)
    factors=1
    for i in range(1, int(ans/2+1)):
        if ans % i==0:
            factors += 1
    if factors>=500:
        print (num,ans,factors)

for i in range (12_300,12_400):
    triangleNumber (i)

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

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