PAT5-38 数列求和-加强版

来源:互联网 发布:写小说软件 mac 编辑:程序博客网 时间:2024/05/21 18:32

给定某数字AA(1\le A\le 91≤A≤9)以及非负整数NN(0\le N\le 1000000≤N≤100000),求数列之和S = A + AA + AAA + \cdots + AA\cdots 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>using namespace std;long num[1000000];int main(){    long A,N,temp,flag;    long i,j;    cin>>A>>N;    if(N==0)    {        cout<<0<<endl;    }else    {        flag=0;        for(i=N,j=0;i>=1;i--,j++)        {            temp=A*i+flag;                      flag=temp/10;          //进位的大小             num[j]=temp%10;        //求得的本位         }        if(flag>0)        {            num[j]=flag;            j++;        }              for(i=j-1;i>=0;i--)        {            cout<<num[i];        }        cout<<endl;    }    return 0;}
原创粉丝点击