Suppose P(n) is sum of digits of 2^n
For example:
As 2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26,so P(15)=26.
Catulate sum of the P(n) for n=1 to 10000.
这是我python code这是给作为答案,但法官似乎并不在此是同意:
def P(n):
n = int(1<<n)
S = 0
while n != 0:
S += (n%10)
n /= 10
return S
Sum = 0
for i in range(1,10001):
Sum += P(i)
else:
print(Sum)
有人能告诉我我的方法有什么问题吗?如果有人向我指出一个相同的数学解决方案,我将不胜感激。
@Tretwick Marian:你为什么不把代码带到这里并描述问题。当这两个链接消失。这篇文章将变得不相关。 – pyfunc 2011-02-03 19:19:58
增加了问题描述和代码。 – 2011-02-03 19:22:36
您是否尝试过打印P(15)? P(1000)或P(10000)如何? – 2011-02-03 19:23:18