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

题目链接

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

输入格式:

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

输出格式:

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

输入样例:

1 3

输出样例:

123

 

 1 #include<algorithm>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 using namespace std;
 7 int main(){
 8     int a,n,sum,t,tp,arr[100010];
 9     scanf("%d%d",&a,&n);
10     tp = sum = a * n;
11     for(int i = 0;i <= n + 8;i++){
12         arr[i] = tp % 10;
13         t = tp / 10;
14         sum -= a;
15         tp = sum + t;
16     }
17     for(int i = n + 8;i >= 0;i--){
18         if(arr[i] > 0){
19             for(int j = i;j >= 0;j--){
20                 printf("%d",arr[j]);
21             }
22             break;
23         }
24     }
25     if(n == 0){
26         printf("0");
27     }
28     printf("\n");
29     return 0;
30 }
View Code

 

posted @ 2018-12-29 15:58  永不&言弃  阅读(247)  评论(0编辑  收藏  举报