ProjectEuler-Problem 16-Power digit sum
2017-06-17 23:33
399 查看
# @Time : 2017/6/17 23:31 # @Author : wanyang # @Mail :wanyangnumberone@gmail.com # @Question:Power digit sum https://projecteuler.net/problem=16 # @Answer :1366 # 初始化参数 改变参数可以适应多种可能 result = [1] base = 2 power = 1001 for p in range(1, power): # 初始化循环2的n次方结果集参数,其中flag用来标识是否有进位,true:有进位 false:无进位 index = 0 length = len(result) flag = False # 循环2的n次方结果的每一位进行运算 while index < length: # 有进位加1,无进位则正常乘以base=2 if flag: num = result[index] * base + 1 else: num = result[index] * base # 乘以base=2,若结果大于等于10则本位取余运算,且如果是最后一位则增加一位并取整数位; # 反之则本位取num即可 if num >= 10: mod = divmod(num, 10) result[index] = mod[1] if index + 1 == length: result.append(mod[0]) flag = True else: result[index] = num flag = False index = index + 1 # 输出结果 print("数字结果集:" + str(result)) print("2的%d次方数字之和是:%d" % (p, sum(result)))
相关文章推荐
- projecteuler---->problem=16----Power digit sum
- Problem 16 Power digit sum
- Problem 16:Power digit sum
- Project Euler Problem 16 Power digit sum
- Project Euler:Problem 16 Power digit sum
- Problem 16:Power digit sum
- Problem 16 Power digit sum (高精度幂)
- Project Euler 16: Power digit sum.
- 16 Power digit sum - Project Euler
- projecteuler---->problem=20----Factorial digit sum
- project euler 16 Power digit sum
- [projecteuler]Factorial digit sum
- Problem 20 Factorial digit sum (阶乘数和)
- projecteuler---->problem=33----Digit canceling fractions
- PE 016 Power digit sum
- Project Euler:Problem 56 Powerful digit sum
- Problem 20:Factorial digit sum
- projecteuler---->problem=18----Maximum path sum I
- Project Euler 题解 #16 Power digit sum
- (Problem 16)Power digit sum