数字阶梯求和——大数加法

题目描述

给定a和n,计算a+aa+aaa+a...a(n个a)的和。

输入描述:

测试数据有多组,输入a,n(1<=a<=9,1<=n<=100)。

输出描述:

对于每组输入,请输出结果。
示例1

输入

复制
1 10

输出

复制

1234567900

//不用像平常一样用string类型的加法,根据式子的特点可以看出,个位是n个a相加,十位是n-1个a相加,依次递减

//大数加法
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int a,n;
    while(cin>>a>>n)
    {
        int carry=0;
        string ans="";
        for(int i=n;i>=1;i--)
        {
            int t=i*a+carry;
            ans+=t%10+'0';
            carry=t/10;
        }
        while(carry)ans+=carry+'0';
        reverse(ans.begin(),ans.end());
        cout<<ans<<endl;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_38030194/article/details/80901058