问题描述
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入说明:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246
解决方案
(1) 利用map函数可以很好的解决在在同一行输入两个变量的问题。解决代码:
a, n = map(int, input().split(" ")) |
注意:map函数中输入的变量是同一类型。(2)若a = 3,则数列为:3,33,333,3333,……对数列各项分析可知下一项是前一项的10倍再加a。
a = 10 * a + a % 10 |
(3)解决代码:
a, n = map(int, input().split(" ")) s = 0 for i in range(1, 10): if i > n: break s += a a = 10 * a + a % 10 print("s =", s) |
运行实例:
结语
在数列求和类型的题型中难点在于理清楚两项之间的关系。理清楚前后两项的关系后问题一般就可以得到解决。同时输入两个类型相同的变量可以使用map函数。