PAT Basic 1017
1017 A除以B(20 分)
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
题解:这道题目是模拟除法,刚开始做法一直有点问题,有一个测试点无法通过,后来借鉴了别人的思路,才写出一份AC代码。
原先错误代码:
#include<iostream>
#include<string> using namespace std; int main()
{
string a,q;
int b, r;
cin>>a>>b;
for( int i = ; i < a.length(); i++)
{ if( a[i] - '' < b && i + < a.length()){
if( i != ) q += '';
i++;
a[i] += (a[i-] - '')*;
} if( i + == a.length()){
if( a[i] - '' < b){
q += '';
r = a[i] - '';
break;
}
else{
q += (((a[i] - '')/b) + '');
r = (a[i] - '')%b;
break;
}
}
q += (((a[i] - '')/b) + '');
a[i+] += ((a[i] - '')%b)*;
}
cout<<q<<' '<<r;
return ;
}
但是这段代码我至今不知道那个测试点为什么过不去,如果有大佬知道,欢迎在评论区留言讨论。
以下为AC代码:
#include<iostream>
#include<string> using namespace std; int main()
{
string a, q;
int b, r, temp;
cin>>a>>b;
temp = a[] - '';
if( temp >= b ) q += temp / b + '';
r = temp % b;
for( int i = ; i < a.length(); i++){
temp = r* + a[i] - '';
q += temp / b + '';
r = temp % b;
}
if( a.length() == ){
q = "";
q += (a[] - '')/ b + '';
r = (a[] - '')% b;
}
cout<<q<<" "<<r;
return ;
}
这道题我感觉数据特别强,也给我一个启示就是,如果一个方法做不出来,或许是方法有问题,我可以试着简化思路,换个方法。
PAT Basic 1017的更多相关文章
- PAT Basic 1017 A除以B (20 分)
本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 ...
- PAT Basic 1017 A除以B (20) [数学问题-⼤整数运算]
题目 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成⽴. 输⼊格式: 输⼊在1⾏中依次给出A和B,中间以1空格分隔. ...
- PAT甲级1017. Queueing at Bank
PAT甲级1017. Queueing at Bank 题意: 假设一家银行有K台开放服务.窗前有一条黄线,将等候区分为两部分.所有的客户都必须在黄线后面排队,直到他/她轮到服务,并有一个可用的窗口. ...
- PAT Basic 1057
1057 数零壹 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有 ...
- PAT 乙级 1017
题目 题目地址:PAT 乙级 1017 题解 粗看是一道大数除法题,实际上只不过是通过字符数组模拟除法过程,理解之后还是比较简单的: 具体分析一下本题: 因为题设中的除数(n)是一位整数,因此大幅简化 ...
- PAT (Basic Level) Practise (中文)-1039. 到底买不买(20)
PAT (Basic Level) Practise (中文)-1039. 到底买不买(20) http://www.patest.cn/contests/pat-b-practise/1039 小红 ...
- PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20)
PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20) http://www.patest.cn/contests/pat-b-practise/1 ...
- PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20)
PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20) http://www.patest.cn/contests/pat-b-practise/1024 ...
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
随机推荐
- 洛谷P3603 || bzoj 4763 雪辉 && bzoj4812: [Ynoi2017]由乃打扑克
https://www.luogu.org/problemnew/show/P3603 https://www.lydsy.com/JudgeOnline/problem.php?id=4763 就是 ...
- 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...
- Unity小知识记录
//判断运行的平台 Application.platform == RuntimePlatform.Android EditorPrefs 编辑器储存数据 [AddComponentMenu(&quo ...
- Y2分班考试 笔试题总结
1. 此题编译错误 base无法点出methodB()方法 2. 第二题选C 3.此题选D:正确的输出级别为fatal>error>warn>info>debug 4. 此题 ...
- kafka基础二
kafka生产者工作流程 消息产生分析 1.写入方式: producer采用推(push)模式将消息发布到broker,每条消息都会被追加(append)到分区Partition上,属于顺序写磁盘(顺 ...
- How to install Eclipse?
http://askubuntu.com/questions/26632/how-to-install-eclipse How to install Eclipse? up vote113down v ...
- 洛谷 P2936 [USACO09JAN]全流Total Flow
题目描述 Farmer John always wants his cows to have enough water and thus has made a map of the N (1 < ...
- 了解springcloud
spring cloud比较不错的文章 https://blog.csdn.net/zhaozhenzuo/article/details/52803490?utm_source=blogxgwz9 ...
- 系统相册中获取gif图片 保证取到的图片不会改变
NSURL *imageRefURL = [info valueForKey:UIImagePickerControllerReferenceURL]; ...
- python打飞机pro版
# -*- coding: utf-8 -*- import pygame from sys import exit import random pygame.init() screen = pyga ...