چالش دوازدهم سایت 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)