给定某数字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;
}

浙江大学PAT上机题解析之2-06. 数列求和的更多相关文章

  1. 浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)

    1014. 福尔摩斯的约会 (20) 时间限制   50 ms 内存限制   32000 kB 代码长度限制   8000 B 判题程序     Standard     作者     CHEN, Y ...

  2. 浙江大学PAT上机题解析之1015. 德才论 (25)

    宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...

  3. 浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆

    实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式说明: 输入首先给出一个正整数N(<=105),随后给出N行指令.每行指令的格式为:“命令符 ...

  4. 浙江大学PAT上机题解析之3-05. 求链式线性表的倒数第K项

    给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式说明: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出 ...

  5. 浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并

    已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3. 输入格式说明: 输入分2行,分别在每行给出由若干个正整数构成的非降序序列,用-1表示序列的结尾(-1不属于这个序列) ...

  6. 浙江大学PAT上机题解析之3-04. 一元多项式的乘法与加法运算

    设计函数分别求两个一元多项式的乘积与和. 输入格式说明: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分 ...

  7. PAT上机注意事项

    PAT上机注意事项 这次上机PAT遇到了很多问题,进行一下总结 1.进入考场后,检查机器是否完好,尤其是键盘的键是否失灵,以及是否有打开的页面(考试开始,打开页面都算违规) 2.关于选择IDE 部分考 ...

  8. 啤酒和饮料|2014年蓝桥杯B组题解析第一题-fishers

    啤酒和饮料|2014年第五届蓝桥杯B组题解析第一题-fishers 啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请 ...

  9. Java上机题(封装)(编写student类)

    今天帮大一的童鞋写Java上机题 题目虽然很简单,但是刚拿到题目的时候愣了一下,然后就疯狂get set QuQ 其实这是一个特别基本的封装的题目(之前实验室面试大二的时候竟然还有蛮多人不知道封装的概 ...

随机推荐

  1. C# 多媒体播放器

    //停止播放 public void stopFile() { axWindowsMediaPlayer1.Ctlcontrols.stop(); } //暂停文件 public void pause ...

  2. 安装apk程序进android

    package com.example.installmyapk; import java.io.File; import android.net.Uri; import android.os.Bun ...

  3. 文件操作中的FLAG(O_RDONLY,O_WRONLY )的值

    #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> void main(void) { ...

  4. 使用java对执行命令行 或 执行bat文件

    public class Hellotianhao { public static void main(String[] args) throws Exception{ System.out.prin ...

  5. Python 第六篇(中):面向对象编程中级篇

    面向对象编程中级篇: 编程思想概述: 面向过程:根据业务逻辑从上到下写垒代码  #最low,淘汰 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 #混口饭吃 def add(ho ...

  6. 知识点1-4:ASP.NET MVC的好处

    ASP.NET MVC解决了ASP.NET Web Form的许多缺点.当在.NET平台上开发新的应用程序时,这使ASP.NET MVC成为一种更好的选择. 1. 对HTML的完全控制 2. 对URL ...

  7. 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)

    原文:分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要) Java InputStream读取数据问题 ======== ...

  8. java设计模式之——适配器模式

    适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极.阴极 ...

  9. Multiple bindings were found on the class path(转)

    Multiple bindings were found on the class path SLF4J API is designed to bind with one and only one u ...

  10. Windows Azure 网站 (WAWS) 和中间证书

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站上使用 SSL 已经司空见惯.虽然向网站上传和分配证书通常简 ...