import java.math.BigInteger; import java.util.Scanner; /** * @author Chen * @create 2025-02-12 9:16 */ public class AdivideB { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String A = scanner.next(); String B = scanner.next(); BigInteger Aa = new BigInteger(A); BigInteger Bb = new BigInteger(B); BigInteger Q = Aa.divide(Bb); BigInteger R = Aa.remainder(Bb); System.out.println(Q + " " + R); } }b比比谁更短
长整数除法规则: 例 123456 除以 7,求商和余数 规则: 初始化tempRemainder = 0, 从被除数的最高位开始,由tempRemainder*10 + nums[index]构成一个二位数 tempRemainder*10+nums[top] = 01,01除以7 得商=0,tempRemainder=1 tempRemainder*10 + nums[top-1] = 12,12除以7 得商=1,tempRemainder=5 tempRemainder*10 + nums[top-2] = 53, 53除以7 得商=7,tempRemainder=4 以此类推 最后一轮的tempRemainder即为长整数除法的最终余数,总结果的商为 017636(每轮除得结果的商进行移位再相加或字符串拼接) import java.util.*; public class Main { public static void main(String []args){ Scanner in = new Scanner(System.in); String longNum = in.next(); //被除数 int div = in.nextInt(); //除数 char[] nums = longNum.toCharArray(); int[] res = new int[1001]; //用来保存除法结果的商 int index = 0,remainder = 0,sum=0; while(index<nums.length){ //由 tempRemainder*10 + nums[index] 构成当前局部运算中的被除数 int curNum = remainder*10+(nums[index]-'0'); int curDiv = curNum/div; remainder = curNum%div; res[index] = curDiv; index++; } int i = 1; if(res[0]!=0){System.out.print(res[0]);} while(i<nums.length){System.out.print(res[i++]);} System.out.print(" "+remainder); } }
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); BigInteger A=scanner.nextBigInteger(); Integer B=scanner.nextInt(); BigInteger Q =A.divide(BigInteger.valueOf(B)); BigInteger R=A.subtract(Q.multiply(BigInteger.valueOf(B))); System.out.println(Q+" "+R); } }
import java.util.Scanner; public class Main{ private static void chufa(String a,int b) { StringBuffer q=new StringBuffer(); char []num=a.toCharArray(); int chu=0; int yu=0; for(int i=0;i<num.length;i++) { chu=yu*10+Integer.parseInt(String.valueOf(num[i])); q.append(chu/b); yu=chu%b; } while(q.charAt(0)=='0') { q.delete(0, 1); } System.out.println(q.toString()+" "+yu); } public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()) { String n=in.next(); int p=in.nextInt(); chufa(n,p); } } }
import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigDecimal bigA = new BigDecimal(sc.next());
BigDecimal bigB = new BigDecimal(sc.next());
System.out.println(bigA.divide(bigB,0,BigDecimal.ROUND_DOWN)+" "+(bigA.divideAndRemainder(bigB)[1]));
}
}
import java.util.Scanner;
public class Main {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
String A = sc.next();
int B = sc.nextInt();
StringBuilder a = new StringBuilder();
int length = A.length();
int i;
int t, q = 0;
t = q * 10 + A.charAt(0) - '0';
if(t / B != 0) {
a.append(t / B);
}
q = t % B;
for (i = 1; i < length; i++) {
t = q * 10 + A.charAt(i) - '0';
a.append(t / B);
q = t % B;
}
System.out.println(a + " " + q);
}
}
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { // numberClassify(); // System.out.println(getNextPrimeFrom(3)); // getPrimesFromM2N(); // System.out.println(Integer.MAX_VALUE);//2147483647 // System.out.println(BigInteger.ONE); // System.out.println(new BigInteger(String.valueOf(200)));//"123456789050987654321" solveAdivB(); } static void solveAdivB() { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { BigInteger bIntA = new BigInteger(scanner.next()); BigInteger bIntB = new BigInteger(scanner.next()); BigInteger[] results = bIntA.divideAndRemainder(bIntB); System.out.println(results[0] + " " + results[1]); } } }
//使用java的自带的BigInteger类啊 import java.math.BigInteger; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); String str=in.next(); String a= in.next(); BigInteger big1 = new BigInteger(str); BigInteger big2 = new BigInteger(a); System.out.print(big1.divide(big2)+" "+big1.mod(big2)); } }
import java.math.BigInteger; import java.util.Scanner; public class Main{ @SuppressWarnings("resource") public static void main(String[] args) { BigInteger a; BigInteger b; float q=0; int r=0; Scanner sc = new Scanner(System.in); a=sc.nextBigInteger(); b=sc.nextBigInteger(); System.out.println(a.divide(b) +" "+a.divideAndRemainder(b)[1]); } }