Project Euler 016:2的1000次方的各数位之和
题目16:2的1000次方的各位之和是多少?
215 = 32768 并且其各位之和为 3 + 2 + 7 + 6 + 8 = 26.
21000 的各位数之和是多少?
挺简单,将21000用str()处理成字符串类型。
print(sum(int(i) for i in str(2**1000)))
再给个很naive的做法。。= =
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
digits = [1] def time2(): temp = 0 for d in range(len(digits)): double = digits[d] * 2 digits[d] = double % 10 + temp temp = int(double / 10) if temp: digits.append(temp) def pe016(n): for i in range(n): time2() print(sum(digits)) if __name__ == '__main__': pe016(1000)
题目来源:
Project Euler: http://projecteuler.net/
PE中文站:http://pe.spiritzhang.com/index.php