给定某数字AA(1≤A≤91≤A≤9)以及非负整数NN(0≤N≤1000000≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯AS=A+AA+AAA+⋯+AA⋯A(NN个AA)。例如A=1A=1, N=3N=3时,S=1+11+111=123S=1+11+111=123。
输入数字AA与非负整数NN。
输出其NN项数列之和SS的值。
1 3
123
大数
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string>
#include <map>
using namespace std;
typedef long long int LL;
LL a,n;
LL cnt;
LL b[200005];
int main()
{
scanf("%lld%lld",&a,&n);
cnt=200000;
LL cot=cnt;
LL x=0;
for(LL i=n;i>=1;i--)
{
b[cnt]=(a*i+x)%10;
x=(a*i+x)/10;
cnt--;
}
int tag=1;
if(x!=0)
{
printf("%lld",x);
tag=0;
}
for(LL i=cnt+1;i<=cot;i++)
{
printf("%lld",b[i]);
tag=0;
}
if(tag)
printf("0");
printf("\n");
return 0;
}