输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和。
时间: 2023-10-24 16:09:26 浏览: 32
设要求的和为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
可以用循环依次计算每一项的值,然后求和即可。
相关问题
输入两个正整数a和n,求a+aa+aaa
+...+aa...a(n个a)的和。
这道题可以使用循环来解决。首先定义一个变量sum,用于存储和,然后使用一个循环,从1到n,每次将a、aa、aaa...aa...a(n个a)加起来,加完后将结果累加到sum中。最后返回sum即可。
具体实现可以参考以下代码:
def sum_of_sequence(a, n):
sum =
for i in range(1, n+1):
sum += int(str(a)*i)
return sum
其中,int(str(a)*i)表示将a重复i次,并将结果转换为整数类型。
例如,当a=2,n=3时,sum_of_sequence(2, 3)的结果为246。
解释:2+22+222=246。
输入正整数a,n输出a+aa+aaa+…的和c语言
是输入正整数a,n输出a+aa+aaa+…的和的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int a, n, sum = 0, term = 0;
printf("请输入正整数a和n的值:\n");
scanf("%d %d", &a, &n);
for (int i = 1; i <= n; i++) {
term = term * 10 + a;
sum += term;
}
printf("a+aa+aaa+...的和为:%d\n", sum);
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)