PAT(B) 1017 A除以B(Java)
题目链接:1017 A除以B
分析
- 读取输入的A和B后,保存为字符串。模拟除法运算过程。
- 不要用
BigInteger,因为会超时。 - 另外字符串经常要扩展(例如:
append())的话,不要用String(非常慢),用StringBuilder是上上策。 - 最后要注意,如果结果的第一位是
0,并且只有一位,那么输出0,否则输出去掉首位后的结果。
/**
* Score 20
* Run Time 80ms
* @author 柳婼 https://blog.csdn.net/liuchuo/article/details/56676450#commentBox
* @version 2.0
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] ab = br.readLine().split(" ");// 读取输入的A和B到ab[0]和ab[1]
br.close();
int b = Integer.parseInt(ab[1]);// 获取B
int temp = 0;// 除法运算的临时变量
StringBuilder sb = new StringBuilder();// 保存结果
// 模拟除法运算过程
for (int i = 0; i < ab[0].length(); i++) {
temp = temp * 10 + ab[0].charAt(i) - '0';// 当前步骤的被除数
sb.append((char) (temp / b + '0'));// 当前步骤的商添加到结果的末尾
temp = temp % b;// 当前步骤的余数
}
String result = sb.toString();
// 第一位可能为0,为0去掉
if (result.charAt(0) == '0' && result.length() != 1) {
System.out.print(result.substring(1) + " " + temp);
} else {
System.out.print(result + " " + temp);
}
}
}
PAT(B) 1017 A除以B(Java)的更多相关文章
- PAT乙级 1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT 乙级 1017 A除以B (20) C++版
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- 【PAT】1017 A除以B(20 分)
1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- 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 (Basic Level) Practise (中文) 1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT 1017 A除以B(20)(代码)
1017 A除以B(20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- PAT (Basic Level) Practice (中文)1017 A除以B (20分)
1017 A除以B (20分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- PAT-乙级-1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
随机推荐
- Tkinter 之Scale滑块标签
一.参数说明 语法 作用 Scale(window, label="滑块") 滑块标题 Scale(window, label="滑块", from_=0) 滑 ...
- ICEM-轴(周期复制网格)
原视频下载地址:https://yunpan.cn/cqMnfpqQQdZZI 访问密码 802b
- 第六章、Linux 的档案权限不目彔配置
1. 使用者不群组 2. Linux 档案权限概念 2.1 Linux 文件属怅 2.2 如何改变文件属怅不权限: chgrp, chown, chmod 2.3 目彔不档案乀权限意丿 2.4 Lin ...
- Arts打卡第7周
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不 ...
- 使用WebSocket实现服务端和客户端的通信
开发中经常会有这样的使用场景.如某个用户在一个数据上做了xx操作, 与该数据相关的用户在线上的话,需要实时接收到一条信息. 这种可以使用WebSocket来实现. 另外,对于消息,可以定义一个类进行固 ...
- ML_Review_SVM(Ch9)
Note sth about SVM(Support Vector Machine) 支持向量机(SVM)从入门到放弃再到掌握这篇博客讲得挺仔细. 动机: SVM的中文名字--支持向量机.本质是一 ...
- IO之Socket网络编程
一.Socket Socket不是Java中独有的概念,而是一个语言无关标准.任何可以实现网络编程的编程语言都有Socket. 1,Socket概念 网络上的两个程序通过一个双向的通信连接实现数据的交 ...
- 记一次环境变量导致的elasticsearch启动错误:max file descriptors [65535] for elasticsearch process is too low, incre
问题描述,elasticsearch启动时报max file descriptors错误: [hadoop@node-33 elasticsearch-5.4.0]$ bin/elasticsearc ...
- ElasticSearch的Gateway及存储原理
ES里有一个叫做gateway的东西,今天抽空理一下,前面翻译ES的一篇博文叫做“搜索引擎与时间机器”,既然里面谈到了时间机器,就免不了需要穿越时空的的门咯,I guess,也许gateway这名字就 ...
- Python与C/C++相互调用(python2 调c++那个试了ok)
一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...