【PAT 乙级(Basic Level)】A除以B
来源:互联网 发布:高德地图修改端口 编辑:程序博客网 时间:2024/06/05 14:55
这个题目不难,就是一个除法算法。因为题目所测试的数据太大,所以先用字符串来接受,再把每一位转换成整型。
解题思路:用除数比较被除数每一位大小,如果除数较大,则借位,如果除数较小,则可直接计算。而且借位时遗留数字的算法是固定的,即永远只需乘10,呃,为什么有种投机取巧的感觉。。。
这是我的最终代码,牛客网那边PASS了。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner s = new Scanner(System.in);String a = s.next();int b = s.nextInt();if (b != 0) {int r = 0, temp = 0, n = 0;StringBuffer q = new StringBuffer();for (int i = 0; i < a.length(); i++) {n = temp*10+a.charAt(i) - '0';if (n%b==0) {//判断余数是否除尽temp=0;//除尽时应没有数遗留给下一位}else{temp=n%b;//除不尽时余数借给下一位继续做除法}if(i==0&&n/b==0){//第一位数比除数小时,答案是0,但是最后答案不能为0开头,要避免这种情况continue;}q.append(n / b);//每做一次运算则增加商的值r=temp;//余数}System.out.println(q+" "+r);}}}
搜索
复制
0 0
- 【PAT 乙级(Basic Level)】A除以B
- PAT乙级(Basic Level)真题 1007.A除以B
- PAT乙级(Basic Level)真题 >A除以B
- PAT (Basic Level)1017. A除以B
- 【PAT 乙级(Basic Level)】分A+B
- PAT乙级-A除以B
- Pat(Basic Level)Practice--1017(A除以B)
- 【C++】浙大PAT (Basic Level)1017. A除以B (20)
- PAT Basic Level 1017. A除以B(20)
- PAT(basic level) 1017 A除以B(20)
- PAT BASIC LEVEL 1017. A除以B (20)
- PAT(Basic Level)_1017_A除以B
- 【PAT 乙级(Basic Level)】A+B和C
- PAT乙级 1017. A除以B
- PAT乙级 A除以B (20)
- PAT 乙级 1017. A除以B
- PAT乙级1007-A除以B
- PAT乙级练习题B1017. A除以B
- POJ1226:Substrings(后缀数组)
- 一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率
- HexEdit 3.0爆破+部份分析
- 11g oracle 用户密码过期问题
- 18、Spring中Bean继承
- 【PAT 乙级(Basic Level)】A除以B
- css3大小单位px、pt、em和rem的区别
- BZOJ 2792 Poi2012 Well 二分答案
- POJ 1265-Area(计算几何+皮克定理+多边形面积公式)
- Redhat 使用CentOS的yum源进行升级或软件安装
- Handling Technical Questions
- JAVA 字节流和字符流
- Cordys 并行会签流程 Demo 【带子流程】
- CSP开发基础--CayptAPI函数库介绍