浙江大学PAT上机题解析之2-06. 数列求和

来源:互联网 发布:冰箱品牌 知乎 编辑:程序博客网 时间:2024/04/19 08:20

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

输入格式说明:

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

输出格式说明:

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

样例输入与输出:

 

序号输入输出1
1 3
123
2
6 100
7407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407407340
3
1 0
0

第一种方法(未通过,最后一个case一直超时)

 

#include <iostream>#include <string>#include <algorithm>using namespace std;inline string  ADD(string a,string b){string c;string::reverse_iterator it1,it2 ;int val,val1,val2;int up=0;//进位int i=0;for (it1=a.rbegin(),it2=b.rbegin();it1!=a.rend()&&it2!=b.rend();it1++,it2++){     val1 = *it1-'0'; val2 = *it2-'0'; val = (val1+val2+up)%10; c.push_back(val+'0'); up = (val1+val2+up)/10;}if (it1==a.rend()){while(it2!=b.rend()){val2 = *it2-'0';val = (val2 +up)%10;c.push_back(val+'0');up = (val2+up)/10;it2++;}}if (it2==b.rend()){while(it1!=a.rend()){val1 = *it1-'0';val = (val1 +up)%10;c.push_back(val+'0');up = (val1+up)/10;it1++;}}reverse(c.begin(),c.end());return c;}int main(){string  Sn;string temp;int A,N;cin>>A>>N;if (N==0){cout<<"0"<<endl;}else{int i;for (i=1;i<=N;i++){temp.push_back('0'+A);Sn = ADD(Sn,temp);}       cout<<Sn<<endl;}//system("pause");return 0;}

第二种方法,已通过,是不是很简洁呢,嘿嘿

AAAA

   AAA

      AA

         A

请这么看求和,对应相加,是不是就是A*N+mod呢,mod为进位,N自减,请务必注意最后一次mod若不为零,则还要将mod加进去,附代码如下:

#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){string temp;int A,N;cin>>A>>N;if (N==0){cout<<"0"<<endl;}else{int value=0;int mod=0;while(N){value  = (A*N+mod)%10;temp.push_back('0'+value);mod = (A*N+mod)/10;N--;}if (mod!=0){temp.push_back(mod);}reverse(temp.begin(),temp.end());cout<<temp<<endl;}//system("pause");return 0;}


 


 

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1个多月的宝宝小腿不直怎么办 20个月宝宝腿不直小腿外八怎么办 小孩手青枝骨骨折拆石膏还弯怎么办 宝宝喝柴胡注射剂有不良反应怎么办 九个月宝宝便秘拉不出来怎么办 一岁四个月的宝宝便秘怎么办 热血三国3要塞打不过去怎么办 清香木夏天有黄叶和掉叶怎么办 生完宝宝妊娠纹还在继续疯长怎么办 陌陌不能最小化观看直播视频怎么办 苏州园区公积金密码忘记了怎么办 房产企业申请破产买的房子怎么办 被业务员骗了买了保险怎么办 孩子特别害怕老师严厉的批评怎么办 4k电视看有线电视不清晰怎么办 移动9.9流量4g网用完了怎么办 东方头条验证码已经被注册了怎么办 打王者两个人吵架被夹在中间怎么办 顾客拿过期的食品过来投诉怎么办 老婆总是埋怨我父母我该怎么办? 代款公司如果使用暴力追债怎么办 法院拍卖款分配有疑意怎么办 法院拍卖买到的房子里有户口怎么办 新注册手机邮箱不和电脑同步怎么办 移动4g盒当月流量封顶怎么办 昆仑加油卡密码忘记了怎么办 昆仑银行e盾密码忘记了怎么办 中石化加油卡密码忘记了怎么办 壳牌加油卡密码忘了怎么办 中国石化加油卡密码忘了怎么办 中石化加油卡密码忘了怎么办 中石化加油卡需要密码忘了怎么办 求不熟领导办事送礼不收怎么办 送礼给领导不收好像很生气怎么办 加油卡没有密码加油后锁住怎么办 个人怎么办中石化油卡怎么开公司票 中石化副卡挂失后钱怎么办 中石化的加油卡丢了怎么办 得仕卡过期3年了怎么办 如果在超市买到过期商品怎么办 华润万家买的豆干过期了吃了怎么办