题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552

代码

使用Scanner会运行超时

  1. package hello;
  2. import java.math.BigInteger;
  3. import java.util.Scanner;
  4. public class Hello {
  5. public static void main(String[] args) {
  6. Scanner input = new Scanner(System.in);
  7. BigInteger b1 = input.nextBigInteger();
  8. BigInteger b2 = input.nextBigInteger();
  9. System.out.println(b1.divide(b2) + " " + b1.remainder(b2));
  10. }
  11. }

使用BufferedReader则没有问题,中间两个try都是eclipse自己生成的

  1. import java.util.Scanner;
  2. import java.math.*;
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. public class Main {
  7. public static void main(String[] args) throws IOException {
  8. // TODO Auto-generated method stub
  9. BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
  10. String[] ab = null;
  11. try {
  12. ab = bufferedReader.readLine().split(" ");
  13. } catch (IOException e1) {
  14. // TODO Auto-generated catch block
  15. e1.printStackTrace();
  16. }
  17. try {
  18. bufferedReader.close();
  19. } catch (IOException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23. BigInteger a = new BigInteger(ab[0]);
  24. BigInteger b = new BigInteger(ab[1]);
  25. BigInteger result[] = a.divideAndRemainder(b);
  26. System.out.println(result[0] + " " + result[1]);
  27. }
  28. }