PAT乙級-1017 A除以B
阿新 • • 發佈:2021-11-23
本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。
輸入格式:
輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。
輸出格式:
在一行中依次輸出 Q 和 R,中間以 1 空格分隔。
輸入樣例:
123456789050987654321 7
結尾無空行
輸出樣例:
17636684150141093474 3
結尾無空行
程式碼:
程式碼參考 https://www.cnblogs.com/wowpH/p/11060779.html
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String ab[] = bf.readLine().split(" "); bf.close(); String a = ab[0]; int b = Integer.parseInt(ab[1]); int len = a.length(); int n = 0; StringBuffer stringBuffer = new StringBuffer(); for(int i = 0; i < len; i++){ n = n*10+(a.charAt(i) - '0'); stringBuffer.append((char)(n / b+'0')); n = n % b; } String result = stringBuffer.toString(); if(result.charAt(0) == '0' && result.length() != 1){ System.out.println(result.substring(1)+" "+n); }else{ System.out.println(result + " " + n); } } }