PTA 数列求和-加强版

来源:互联网 发布:100内素数之和 java 编辑:程序博客网 时间:2024/05/22 17:43

给定某数字

AA1\le A\le 91A9)以及非负整数NN0\le N\le 1000000N100000),求数列之和S = A + AA + AAA + \cdots + AA\cdots AS=A+AA+AAA++AAANNAA)。例如A=1A=1N=3N=3时,S = 1 + 11 + 111 = 123S=1+11+111=123

输入格式:

输入数字AA与非负整数NN

输出格式:

输出其NN项数列之和SS的值。

输入样例:

1 3

输出样例:

123


解题思路:数组模拟

#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#include <set>#include <stack>#include <map>#include <climits>using namespace std;#define LL long longconst int INF=0x3f3f3f3f;int a[100009];int k,n;int main(){    while(~scanf("%d %d",&k,&n))    {        if(n==0) {printf("0\n");continue;}        int x=0,cnt=0;        for(int i=n;i>=1;i--)        {            int kk=i*k+x;            a[cnt++]=kk%10;            x=kk/10;        }        if(x)  printf("%d",x);        for(int i=cnt-1;i>=0;i--)            printf("%d",a[i]);        printf("\n");    }    return 0;}

0 0