首页 > 其他 > 详细

习题2.3 数列求和-加强版 (模拟)

时间:2019-07-25 21:33:54      阅读:102      评论:0      收藏:0      [点我收藏+]

习题2.3 数列求和-加强版 (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

1 3

输出样例:

123

题解:大数的加法模拟+找规律
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 const int maxn=1e5+10;
 6 typedef long long ll;
 7 ll num[maxn];
 8 int main()
 9 {
10     ll a,n;
11     cin>>a>>n;
12     if(n==0)
13         cout<<0<<endl;
14     else
15     {
16         ll cnt=0;
17         ll tmp=0;
18         for(ll i=0;i<n;i++)
19         {
20             tmp+=(n-i)*a;
21             num[cnt++]=tmp%10;
22             tmp/=10;
23         }
24         if(tmp)
25             printf("%lld",tmp);//注意如果最前面超过了10,也需要进位
26         for(ll i=cnt-1;i>=0;i--)
27             printf("%lld",num[i]);
28     }
29     return 0;
30 }

 

习题2.3 数列求和-加强版 (模拟)

原文:https://www.cnblogs.com/1013star/p/11246918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!