题解 | #数字阶梯求和#
数字阶梯求和
https://www.nowcoder.com/practice/c66df29f6c1c4dbba0bd51619210e082
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &a,vector<int> &b){
vector<int> res;
int t=0;
for(int i=0;i<a.size()||i<b.size();i++){
if(i<a.size()){
t+=a[i];
}
if(i<b.size()){
t+=b[i];
}
res.push_back(t%10);
t/=10;
}
while(t){
res.push_back(t%10);
t/=10;
}
return res;
}
int main() {
int a,n;
while(cin>>a>>n){
vector<int> ans;
vector<int> next;
ans.push_back(a);
for(int i=1;i<n;i++){
for(int j=0;j<=i;j++){
next.push_back(a);
}
ans = add(ans,next);//逆序
next.clear();
}
for(int i=ans.size()-1;i>=0;i--){
cout<<ans[i];
}
cout<<endl;
}
}
