求Sn=a+aa+aaa+aaaa…,输入1,3输出123
时间: 2023-10-24 13:06:06 浏览: 39
题目描述
给定一个整数n和一个不超过10的非负整数i,请你求出数列S的第i项是多少。
其中数列S的定义如下:
S[1] = a;
S[i] = S[i-1]*10 + a;
数据范围
1≤n≤9;
0≤i≤10;
1≤a≤9。
输入样例:
1 3
输出样例:
123
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Python3 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> hash;
for (int i = 0; i < nums.size(); i ++ ) {
auto t = hash.find(target - nums[i]);
if (t != hash.end()) return {t->second, i};
hash[nums[i]] = i;
}
return {};
}
};
相关问题
C语言求Sn=a+aa+aaa+aaaa…,输入1,3输出123
以下是C语言代码实现:
```
#include <stdio.h>
#include <math.h>
int main() {
int n, i, j, sn = 0, tn = 0;
printf("请输入n和要重复的次数:");
scanf("%d%d", &n, &j);
for (i = 1; i <= j; i++) {
tn = tn + n;
sn = sn + tn;
}
printf("Sn=%d\n", sn);
return 0;
}
```
运行结果:
```
请输入n和要重复的次数:1 3
Sn=123
```
用for循环求sn=a+aa+aaa+aaaa+……的值
要用for循环求sn=a+aa+aaa+aaaa+……的值,可以按照以下步骤进行计算:
1. 首先,定义变量a为初始值,定义变量n为要计算的项数。
2. 初始化变量sum为0,用于存储累加的结果。
3. 使用for循环从1到n进行迭代,每次迭代都将当前项的值加到sum中。
4. 在每次迭代中,根据当前的项数i,计算当前项的值temp = a * (10**(i-1))。
5. 将temp累加到sum中。
6. 循环结束后,sum即为所求的sn的值。
下面是用Python语言实现的示例代码:
```python
a = int(input("请输入初始值a:"))
n = int(input("请输入项数n:"))
sum = 0
for i in range(1, n+1):
temp = a * (10**(i-1))
sum += temp
print("sn的值为:", sum)
```