gpt4 book ai didi

algorithm - 在不使用除法、乘法或模数的情况下将数字除以 3

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:32 25 4
gpt4 key购买 nike

Without using /, % and * operators, write a function to divide a number by 3. itoa() is available.

以上是我在面试中被问到的,我真的想不出答案。我想将数字转换为字符串并添加所有数字,但这只会告诉我数字是否可整除。或者,通过重复减法,它也可以告诉我余数。但是,如何获得除法商?

最佳答案

下面的代码接受 2 个整数,并将第一个除以第二个。它支持负数。

int divide (int a, int b) {
if (b == 0)
//throw division by zero error

//isPos is used to check whether the answer is positive or negative
int isPos = 1;
//if the signs are different, the answer will be negative
if ((a < 0 && b > 0) || (a > 0 && b < 0))
int isPos = 0;


a = Math.abs(a);
b = Math.abs(b);
int ans = 0;
while (a >= b) {
a = a-b;
ans++;
}
if (isPos)
return 0-ans;
return ans;
}

关于algorithm - 在不使用除法、乘法或模数的情况下将数字除以 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com