如何在不使用递归或`/`运算符的情况下进行除法?

Posted

技术标签:

【中文标题】如何在不使用递归或`/`运算符的情况下进行除法?【英文标题】:How to do a division without using recursion or the `/` operator? 【发布时间】:2022-01-12 02:47:06 【问题描述】:

我有一个练习,包括使用 javascript 进行函数式编程,练习是制作一个计算器,我已经在没有使用递归或 / 运算符的情况下进行了乘法运算,但我不明白如何进行除法,我尝试了各种解决方案,但都不起作用。

我的操作

const adition = (a, b) => a + b;

const sustraction = (a, b) => a - b;

const multiplication = (a, b) => 
    return [...Array(b)].reduce((acc) => adition(acc, a), 0);
;

【问题讨论】:

请记住,除法是乘法的逆运算(就像减法是加法的逆运算一样)。 你可以使用循环吗? 我不能使用循环(for、while 等),但我可以使用其他函数,加法、减法、乘法 @DavidAngarita - 注意前两个操作的词是 additionsubtraction.. 这是你的作业,所以我希望你在寻找提示而不是答案。您应该发布您尝试过的所有事情以及您遇到的具体问题,以便我们为您提供反馈。 【参考方案1】:

还记得你在小学时是如何做长除法的吗?

实施! ?

但如果你不记得:

Long Division | math is fun How to do Long Division in 6 Steps (With Pictures) Step by Step Guide for Long Division Intro to long division (remainders) (video) | Khan Academy

【讨论】:

以上是关于如何在不使用递归或`/`运算符的情况下进行除法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 if 或 for 的情况下找到一个数字是正数、负数还是零? [复制]

C++ 中的除法舍入

我想反转堆栈,但我不知道如何使用递归来反转这个......如何在不使用递归的情况下反转堆栈

如何在不使用祖先或自我的情况下构建祖先树:: *

如何在不停止递归的情况下返回递归函数中的值?

如何在没有递归或堆栈但使用父指针的情况下按顺序遍历 BST?