جواب سوال 20 ProjectEuler: حاصل جمع ارقام فاکتوریل

پروژه اویلر

درود بر علاقمندان تمرین و سوال برنامه نویسی مخصوصا چالش های سایت ProjectEuler

امروز رسیدیم به سوال بیستم از چالش های سایت projecteuler.net

سوال چندان سخت نیست و فکر می کردم با راحت ترین راه حلی که به ذهنم رسید مدت زمان طولانی برای رسیدن به جواب نیاز باشه اما اینطور نبود! سوال این هست:

n! یا فاکتوریل یک عدد یعنی ضرب آن عدد در اعداد کوچکتر از خود تا عدد یک

برای مثال 10! = 10 × 9 × … × 3 × 2 × 1 = 3628800

و جمع ارقام فاکتوریل 10 برابر است با: 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27

جمع ارقام فاکتوریل 100 را بدست آورید.

بدون فوت وقت بریم سراغ کدهایی که مثل همیشه در پایتون نوشتیم:

myFact = 1
for i in range(1, 101):
    myFact *= i

mySum = sum(int(digit) for digit in str(myFact))
print(mySum)

یک دیدگاه در “جواب سوال 20 ProjectEuler: حاصل جمع ارقام فاکتوریل”

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

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