avatar
Divide Two Integers# JobHunting - 待字闺中
g*j
1
Divide two integers without using multiplication, division and mod operator.
这个题目怎么做呀,我用的是数学公式exp(logx - logy)
但是,large set就这一个通不过,难道这个除出来不是-1么?他说expected是0,这是
为什么?
2147483647, -2147483648 -1 0
avatar
f*e
2
int division(int a, int b){
if(b == 0) {
System.out.println("cannot divied by a zero");
return 0;
}

if((a < 0) && (b > 0)) {
return -(division(-a, b));
} else {
if((a > 0) && (b < 0))
return -(division(a, -b));
else {
if((a < 0) && (b < 0))
return division(-a, -b);
}
}
int quotient = 0;
while(a >= b){
a = a - b;
quotient++;
}
return quotient;
}
avatar
f*e
3
测了, 好像没啥问题. 请大牛们指正.
avatar
j*x
4
lz给的这个在你的代码里会溢出

【在 f**********e 的大作中提到】
: int division(int a, int b){
: if(b == 0) {
: System.out.println("cannot divied by a zero");
: return 0;
: }
:
: if((a < 0) && (b > 0)) {
: return -(division(-a, b));
: } else {
: if((a > 0) && (b < 0))

avatar
f*e
5
I have run it, but it did not overflow.

【在 j********x 的大作中提到】
: lz给的这个在你的代码里会溢出
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。