*需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。 将两数相除,要求不使用乘法、除法和%运算符。 得到商和余数。
分析: 被除数/除数=商...余数
如果是这样的话只能用减法了,一次一次地往下减下来 因为无非就是商个除数就等于被除数 例如30为被除数,10为除数的话,就是3个10=30 30-10=20,20-10=10,10-10=0一共进行3次减法 因为循环次数不确定使用while循环即可
public static void main(String[] args) {
int beichu=100;//被除数
int chu=6;//除数
int shan=0;//商
while (beichu>=chu){//必须要了解的是这里,当被除数小于除数的时候,
//就不再执行循环,然后剩下的被除数的值就是余数
beichu=beichu-chu;//被除数减去除数减到不能再减下去就是余数(余下的数嘛)
shan++;//减一次就是相当于除以一次除数,统计循环减去的次数即可得出商
}
System.out.println("商:"+shan);
System.out.println("余数:"+beichu);
}
}
输出结果为: