Python 实现特殊数列求和算法
Python 实现特殊数列求和算法
问题描述:
给定两个均不超过 9 的正整数,较小的数作为 'a',较大的数作为 'n',要求编写程序求 'a' + 'aa' + 'aaa' + ... + 'aaa...aa'(n 个 'a') 之和。
例如:'a' = 2, 'n' = 5 时,2 + 22 + 222 + 2222 + 22222 = 24690,输出结果 24690
输入格式:
同行输入两个正整数 'a','n' 表示两个整数,题目保证:'a' 不大于 9,'n' 不大于 10
输出格式:
输出一个正整数 'm',表示特殊数列之和。
样例:
输入样例: 2 5
输出样例: 24690
思路:
根据题目要求,需要求出每一项的值,然后将所有项的值相加即可。由于每一项的值都是由前一项加上一个 'a' 得到的,因此可以使用循环来求解。具体地,设当前项为 's',初始值为 0,每次循环中将 's' 乘以 10 加上 'a',然后将 's' 加到结果中即可。注意到最后一项的值为 'n' 个 'a' 组成的数,因此需要单独计算出来并加到结果中。最后输出结果即可。
Python 代码:
a, n = map(int, input().split())
sum = 0
s = 0
for i in range(n - 1):
s = s * 10 + a
sum += s
last_term = int(str(a) * n)
sum += last_term
print(sum)
原文地址: https://www.cveoy.top/t/topic/jFzY 著作权归作者所有。请勿转载和采集!