题目:
要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和。
从控制台输入正整数a和n的值(两个值都不超过9),并输出fn(a,n)的结果值。
算法实现:
表达式可以分解为 a*(1+11+111+……+11…111(n个))
def fn(a,n):
s = 1
sum = 1
for i in range(1,n):
s = 1 + s*10
sum+=s
y = a *sum
print(y)
if __name__ == '__main__':
while(1):
a = int(input('请输入a:'))
if a>9 or a<0:
print('a的值输入错误,请重新输入:')
else:
break
while(1):
n = int(input('请输入n:'))
if n>9 or n<0:
print('n的值输入错误,请重新输入:')
else:
break
fn(a,n)