جواب سوال 16 ProjectEuler: مجموعه ارقام توان Power digit sum

پروژه اویلر

چالش شانزدهم سایت پروژه اویلر سوال خیلی ساده ای داره:

نتیجه 2 به توان 15 برابر با 32768 است و مجموعه ارقام این عدد: 3 + 2 + 7 + 6 + 8 = 26

مجموعه ارقام عدد 2 به توان 1000 چقدر است؟

به نظر آسون میاد نه!؟

بریم کدهای جواب رو ببینیم:

powerDigitSum = 0
powerDigit = 2

for i in range(1, 1000):
    powerDigit *= 2

for digit in str(powerDigit):
    powerDigitSum += int(digit)

print(powerDigitSum)

در حلقه اول 2 را به توان 1000 رساندیم.

در حلقه بعد با یک ترفند بسیار ساده ابتدا عدد به دست آمده را به رشته تبدیل کردیم تا بتوانیم با راحتی هرچه تمام تر ارقام آن را بخوانیم، و به ازای ارقامی که در این رشته وجود دارد، هر رقم را با جمع اعداد که در مرحله اول صفر در نظر گرفته بودیم، جمع زدیم و در انتها آن را چاپ کردیم!

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

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