• 按照算式顺序,依次初始化各个加数,用大数加法累加
#include<iostream>
#include<string>
using namespace std;

string add_str(string a,string b){//字符串相加
    string c;//保存加法结果
    int k=a.size()-b.size();//计算长度差,并补0使长度一致
    if(k>0){
        for(int i=0;i<k;i++){
            b="0"+b;
        }
    }
    else if(k<0){
        for(int i=0;i<-k;i++){
            a="0"+a;
        }
    }
    int jinwei=0;
    int cur;
    for(int i=a.size()-1;i>=0;i--){//最低位开始加
        cur=jinwei+a[i]-'0'+b[i]-'0';//和
        int x=cur%10;
        c.insert(0,1,x+'0');//每次把结果插入c的最前面
        jinwei=cur/10;//进位
    }
    if(jinwei!=0)c="1"+c;
    return c;
}


int main(){
    int a,n;
    
    while(scanf("%d %d",&a,&n)!=EOF){
       string ans="0";
        
       for(int i=1;i<=n;i++){
           string c(i,a+'0');//初始化加数:i个a  "aaaa...aaaa"
           ans=add_str(ans,c);//累加
           c.clear();
       }
       cout<<ans<<endl;
    }
    
    return 0;
    
}