zoukankan      html  css  js  c++  java
  • 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);
    		}
    	}
    }
    
  • 相关阅读:
    [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回
    测试Storm的多源头锚定
    理解Storm可靠性消息
    Storm处理流程, 基本参数配置
    解决Storm 和yarn 8080 端口冲突
    TridentState分析
    Trident中 FixedBatchSpout分析
    Java序列简单使用
    JVM 监控以及内存分析
    Zookeeper入门开发demo
  • 原文地址:https://www.cnblogs.com/wowpH/p/11060779.html
Copyright © 2011-2022 走看看