问题描述
使用函数求和求s= a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字。
示例:
输入:a=5 n=5
输出:61725
算法描述
由题可以看出,s这个式子中,每个加数都等于前面一个数的十倍再加上a,所以我们可以想到给一个数t进行赋值,每次都用这个方法对t进行新一轮的赋值。为了做到一直加到aa…a,我们可以使用一个for循环,让这个循环一直持续到n处。
首先我们先定义一个函数,对函数输入两个值a、n。下面我们展示一下完整的代码。
def getSum(a,n): t = 0 sum = 0 for i in range(1,n+1): t = t * 10 + a sum += t return sum a,n = map(eval,input(‘请分别输入a和n,并用,隔开:’).split(‘,’)) r = getSum(a,n) print(r) |