题目描述: 输入两个整数n和a,输出数列1+aa+aaa+…+aa…aaa的和,其中项数为n,例如n=3,a=2时,数列为1+2*2+2*2*2=1+4+8=13。 输入格式: 输入一行,包含两个整数n和a,用空格隔开。 输出格式: 输出一行,包含一个整数,表示数列的和。 输入样例: 3 2 输出样例: 13 解题思路: 本题需要使用到字符串的知识,将a转换为字符串后,通过字符串的拼接和转换,得到数列的每一项,再将每一项相加即可。 代码实现:
时间: 2024-02-09 07:11:33 浏览: 59
输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和
C++ 代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n, a;
cin >> n >> a;
string cur = to_string(a); // 当前项
int sum = stoi(cur); // 总和初始化为第一项
int factor = a; // 记录当前项的系数
for (int i = 2; i <= n; i++) // 从第二项开始计算
{
factor = factor * 10 + a; // 计算当前项的系数
cur += to_string(a); // 计算当前项
sum += stoi(cur) * factor; // 将当前项加入总和
}
cout << sum << endl;
return 0;
}
```
Python 代码如下:
```python
n, a = map(int, input().split())
cur = str(a) # 当前项
sum = int(cur) # 总和初始化为第一项
factor = a # 记录当前项的系数
for i in range(2, n + 1): # 从第二项开始计算
factor = factor * 10 + a # 计算当前项的系数
cur += str(a) # 计算当前项
sum += int(cur) * factor # 将当前项加入总和
print(sum)
```
阅读全文