7-11 数列求和-加强版 (20 分)

7-11 数列求和-加强版 (20 分)

给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。

输入格式:

输入数字A与非负整数N。

输出格式:

输出其N项数列之和S的值。

输入样例:

1 3

结尾无空行

输出样例:

123

结尾无空行

#include<iostream>
using namespace std;
#define max 100000
int main(){
    int a,n,arr[max],flag=0;
    cin>>a>>n;
    int min=max;
    if(n==0){cout<<0;return 0;}
    for(int i=0;i<n;i++){
        arr[--min]=(a*(n-i)+flag)%10;
        flag=(a*(n-i)+flag)/10;
    }
    if(flag)arr[--min]=flag;
    for(int i=min;i<max;i++)cout<<arr[i];
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_51916951/article/details/121152782