PAT——1022. D进制的A+B
生活随笔
收集整理的這篇文章主要介紹了
PAT——1022. D进制的A+B
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸入兩個非負10進制整數A和B(<=230-1),輸出A+B的D (1 < D <= 10)進制數。
輸入格式:
輸入在一行中依次給出3個整數A、B和D。
輸出格式:
輸出A+B的D進制數。
輸入樣例:
123 456 8輸出樣例:
11031 package com.hone.basical; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Scanner; 6 7 /** 8 * 原題目:https://www.patest.cn/contests/pat-b-practise/1022 9 * @author Xia 10 * 超時版本 11 * 12 */ 13 14 public class basicalLevel1022DecimalAB{ 15 public static void main(String[] args) { 16 Scanner s = new Scanner(System.in); 17 long a = s.nextLong(); 18 long b = s.nextLong(); 19 int D = s.nextInt(); 20 double c = a + b; 21 List<Double> dnum = new ArrayList<>(); 22 double x = 0; 23 while (c!=0){ 24 x = c%D; 25 dnum.add(x); 26 c= (int)(c/D); 27 if (c<D) { 28 dnum.add(c); 29 break; 30 } 31 } 32 for (int i = dnum.size()-1; i >= 0; i--) { 33 System.out.print((int)(dnum.get(i)/1.0)); 34 } 35 } 36 }
?
1 package com.hone.basical; 2 3 import java.util.Scanner; 4 5 /** 6 * 原題目:https://www.patest.cn/contests/pat-b-practise/1022 7 * @author Xia 8 * 核心:做了這么多題目,建議所有的進制轉換都可以字符串來承接最后轉化的效果 9 */ 10 11 public class basicalLevel1022DecimalABImprove{ 12 public static void main(String[] args) { 13 Scanner s = new Scanner(System.in); 14 long a = s.nextLong(); 15 long b = s.nextLong(); 16 int D = s.nextInt(); 17 long c = a + b; 18 String num = ""; //處理成字符串是這種問題常見的方式,因為更加容易拼接 19 if (c == 0) { 20 num = num+"0"; 21 }else { 22 while (c!=0) { 23 int ref = (int) (c%D); 24 num = ref+num; 25 c = c/D; 26 } 27 } 28 System.out.println(num); 29 } 30 }轉載于:https://www.cnblogs.com/xiaxj/p/7978866.html
總結
以上是生活随笔為你收集整理的PAT——1022. D进制的A+B的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LaTeX写作技术规范
- 下一篇: 网络流 24 题汇总(LOJ 上只有 2