浙江大学PAT上机题解析之2-06. 数列求和
给定某数字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. 数列求和的更多相关文章
- 浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Y ...
- 浙江大学PAT上机题解析之1015. 德才论 (25)
宋代史学家司马光在<资治通鉴>中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...
- 浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式说明: 输入首先给出一个正整数N(<=105),随后给出N行指令.每行指令的格式为:“命令符 ...
- 浙江大学PAT上机题解析之3-05. 求链式线性表的倒数第K项
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式说明: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出 ...
- 浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3. 输入格式说明: 输入分2行,分别在每行给出由若干个正整数构成的非降序序列,用-1表示序列的结尾(-1不属于这个序列) ...
- 浙江大学PAT上机题解析之3-04. 一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和. 输入格式说明: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分 ...
- PAT上机注意事项
PAT上机注意事项 这次上机PAT遇到了很多问题,进行一下总结 1.进入考场后,检查机器是否完好,尤其是键盘的键是否失灵,以及是否有打开的页面(考试开始,打开页面都算违规) 2.关于选择IDE 部分考 ...
- 啤酒和饮料|2014年蓝桥杯B组题解析第一题-fishers
啤酒和饮料|2014年第五届蓝桥杯B组题解析第一题-fishers 啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请 ...
- Java上机题(封装)(编写student类)
今天帮大一的童鞋写Java上机题 题目虽然很简单,但是刚拿到题目的时候愣了一下,然后就疯狂get set QuQ 其实这是一个特别基本的封装的题目(之前实验室面试大二的时候竟然还有蛮多人不知道封装的概 ...
随机推荐
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
Android的对话框有两种:PopupWindow和AlertDialog.它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意 AlertDialog是非阻 ...
- 采用openFileOutput获取输出流
package com.example.login.service; import java.io.BufferedReader; import java.io.File; import java.i ...
- java项目打jar包的两种情况
链接地址:http://jingyan.baidu.com/article/6b97984d8a6ddc1ca2b0bfa0.html 本文介绍一下java项目打jar包时的两种情况各怎么操作 方 ...
- android4.0移植,拨号异常
D/dalvikvm( 2274): GC_CONCURRENT freed 206K, 12% free 6571K/7431K, paused 2ms+3ms D/dalvikvm( 2274): ...
- 用定时器T0查询方式P0口8位控制LED闪烁
#include<reg52.h> #define uchar unsigned char #define uint unsigned int void main (void) { uch ...
- Android_Service组件详解
1.Service概述 Service服务是一个没有用户界面的在后台运行执行操作的应用组件,其它组件可以通过Intent意图启动这个Service去完成特定的功能,比如通过Service可以完成播放音 ...
- 利用T4模版生成EF实体
直接上代码,只需要修改EF实体的地址就可以了. <#@ template language="C#" debug="false" hostspecific ...
- 去掉Qt加载png图像文件时候的iccp警告
用QML加载png文件时显示如下警告(图像正常加载显示) libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP ...
- Python 脚本帮你找出微信上删除了你的“好友“
- cocos2d-x游戏开发系列教程-坦克大战游戏之虚拟手柄的显示
上篇文章我们有了坦克,但是没有手柄,无法控制坦克. 1.这篇我们编写虚拟手柄来控制坦克.头文件大致内容如下: #define RES_PADDLE_LEFT "paddle/left.png ...