2.18 叠数相加
题目:
- 叠数:是数学术语,指每个位上的数字都相等,比如,11, 22, 333, 44等
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
程序分析:
- 关键是计算出每一项的值。
- 获得类似效果:
n = 5
a = 2
2
22
222
2222
22222
计算和为: 24690
程序源代码
from functools import reduce
Tn = 0 # 每一项的初始值
Sn = []
n = int(input('n = '))
a = int(input('a = '))
for count in range(n):
Tn = Tn + a
a = a * 10
Sn.append(Tn)
print(Tn)
Sn = reduce(lambda x, y: x + y, Sn)
# Sn = sum(Sn)
print("计算和为:", Sn)
参考资料: