题目:给定两个整数,被除数和除数(都是正数,且不能超过int的范围)
将两数相除,要求不使用乘法、除法和%运算符,得到商和余数
package com.demo;
import java.util.Scanner;
public class 求商和余数 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
/*需求:给定两个整数,被除数和除数(都是正数,且不能超过int的范围)
将两数相除,要求不使用乘法、除法和%运算符,得到商和余数
分析:被除数/除数=商...余数
int a=100;
int b=10;
100-10=90;
90-10=80;
80-10=70;
70-10=60;
.....
10-10=0;(余数)
商就是减余数的次数
*/
//1.定义变量记录被除数
int divident=input.nextInt();
//2.定义变量记录除数
int divisor=input.nextInt();
//count是为了记录循环的次数 由此可以知道商
int count=0;
//3.循环 while (不知道循环的次数用while循环)
//在循环中不断地用被除数-除数
//只要被除数是大于除数的,就一直循环
while(divident>=divisor){
divident=divident-divisor;
count++;
}
//4.循环结束后,输出商和余数
System.out.println("商为:"+count);
System.out.println("余数为:"+divident);
}
}