题解 | 数字阶梯求和

数字阶梯求和

https://www.nowcoder.com/practice/c66df29f6c1c4dbba0bd51619210e082

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string add(string a,string b){
    string res;
    int carry=0;
    int x=a.size()-1;
    int y=b.size()-1;
    while(x>=0&&y>=0){
        int num=a[x]-'0'+b[y]-'0'+carry;
        res+=(num%10+'0');
        carry = num/10;
        x--;
        y--;
    }
    while(x>=0){
        int num = a[x]-'0'+carry;
        res+=(num%10+'0');
        carry = num/10;
        x--;
    }
    while(y>=0){
        int num = b[y]-'0'+carry;
        res+=(num%10+'0');
        carry = num/10;
        y--;
    }
    if(carry>0) res+=(carry+'0');
    reverse(res.begin(),res.end());
    return res;
}

int main() {
    string a;
    int n;
    cin>>a>>n;
    string res;
    for(int i=1;i<=n;i++){
        string str;
        for(int j=0;j<i;j++){
            str+=a;
        }
        res=add(res,str);
    }
    cout<<res;

    return 0;
}

全部评论

相关推荐

大愣子衰哥:老哥,是正式还是实习
点赞 评论 收藏
分享
鱼专:你没有问题,有问题的是java市场,我有实习经历都捞不到实习,走一步看一步吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务