题目分析
假设n等于3,则s=a+aa+aaa即3*a+2*a*10+1*a*100。从中可得规律s=n*a+(n-1)*a*10+(n-2)*a*100+(n-3)*a*1000......其中a是不变的,变化的是a的乘数,利用while循环从n遍历到1,sum+=(n * a * (10 ** j)),j从0开始变化,即n*a*1对应n*a,每循环一次n--,j++。
题目解答
代码如下
def count(a, n):
sum = 0
i = 1
j = 0
while n >= 1:
sum += (n * a * (10 ** j))
n -= 1
j += 1
return sum
flag = True
while flag:
a, n = map(int, input().split())
if 0 < a <= 9 and 0 < n <= 9:
flag = False
print(f"s = {count(a, n)}")