力扣题——2.除数与被除数

下面,我们来看一道力扣题

题目如下:

需求:给定两个整数,被除数和除数(都是正数,且不超过int范围)将两数相除

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

分析:

在分析这道题之前,我们先来将一个公式:被除数 / 除数 = 商……余数

下面跟着我的思路来分析:

要求得到商和余数,且不让使用除法和%和乘法。首先,我们要清楚除法的本质是什么?除法的本质是乘法的变形,是加法和减法的拓展商个除数相加,再加上余数就得到了被除数。所以,我们可以用减法来做,我们让被除数连续的减除数。减到什么时候呢?减到被除数小于等于除数时。OK,那我们就清楚了,就是不停的减,用while循环,条件是被除数小于除数,那么商就是最后的余数。减的次数就是商

下面来看一下代码:



public class Test1 {
    public static void main(String[] args) {
        //定义被除数
        int dividend = 123;
        //定义除数
        int divisor = 15;
        //记录减的次数
        int count = 0;
        //如果被除数大于等于除数,那么就要相减
        while (dividend>=divisor){
            //被除数不停的减去除数,最后被除数小于除数了,那余下的就是余数
            dividend = dividend - divisor;
            //每减一次,就记录一次次数,最终减的次数就是商
            count++;
        }
        //打印输出
        System.out.println("商 = "+count);
        System.out.println("余数 = "+ dividend);

    }
}

总结:

这题比较简单,重点还是要仔细分析运算符的本质和题目的本质是什么。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L纸鸢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值