题目:

给定两个整数,被除数和除数(都是正数,且不超过int的范围)

要求不使用乘法、除法 和 % 运算符,得到商和余数。

题目分析

我们知道,除法的本质其实就是被除数除数不断地进行减法运算。

所以,我们只需要循环这个运算,同时记录循环了多少次,就可以得到商。

而最终若不够减,那么此时的被除数即是余数。

代码实现

import java.util.Scanner;

public class FindQuotientsAndRemainders {
	public static void main(String[] args) {
		
		int dividend = 0;//被除数
		int divisor = 0;//除数
		int quotient = 0;//商

		Scanner sc = new Scanner(System.in);
		
		//1.录入数据
		System.out.println("请输入被除数:");
		dividend = sc.nextInt();
		System.out.println("请输入除数:");
		divisor = sc.nextInt();
		
		//2.开始求商和余数
		while (dividend - divisor >= 0) {
			dividend -= divisor;
			quotient++;
		}
		
		//3.输出结果
		System.out.println("商为" + quotient);
		System.out.println("余数为" + dividend);
		
		sc.close();
	}
}

运行结果

Java解题:求商和余数_java

Java解题:求商和余数_System_02