题解 | #数字阶梯求和#
数字阶梯求和
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; } }