输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和。
时间: 2023-10-24 07:09:26 浏览: 69
设要求的和为S,则有 S = a + 11a + 111a + … + n个1a
将S乘以10,得到 10S = 10a + 110a + 1110a + … + n个10a
将上下两式相减,得到 9S = 9a + 99a + 999a + … + n个9a
因此,S = (a + 11a + 111a + … + n个1a) / 9
可以用循环依次计算每一项的值,然后求和即可。
相关问题
1.求a+aa+aaa+aa…a:输入两个正整数a和,求a+aa+aaa+aaa(n个a)之和。试编写相应程序。
算法思路:
- 定义一个变量sum用来记录每一项的和,初始值为0。
- 使用一个循环从1到n,每次将a累加到一个字符串s中,并将s转换为整数加到sum中。
- 输出sum。
Python代码实现:
a, n = map(int, input().split())
s = ""
sum = 0
for i in range(1, n+1):
s += str(a)
sum += int(s)
print(sum)
1.求a+aa+aaa+aa…a:输入两个正整数a和,求a+aa+aaa+aaa(n个a)之和。试用C编写相应程序。
#include <stdio.h>
int main() {
int a, n;
scanf("%d%d", &a, &n);
int sum = 0, term = 0;
for (int i = 0; i < n; i++) {
term = term * 10 + a;
sum += term;
}
printf("%d\n", sum);
return 0;
}
阅读全文