概述
如题,不用乘除法和mod实现两数相除。
这里引用一位clever boy 的解法。
1 class Solution { 2 public: 3 int divide(int dividend, int divisor) { 4 long long res = 0; 5 if(dividend == 0) 6 return 0; 7 if(divisor == 0) 8 return INT_MAX; 9 res = exp(log(llabs(dividend)) - log(llabs(divisor))); 10 if((dividend < 0) ^ (divisor < 0)) 11 res = -res; 12 if(res > INT_MAX) 13 res = INT_MAX; 14 return res; 15 } 16 };
数学大法好!!!
转载于:https://www.cnblogs.com/yocichen/p/10920676.html
最后
以上就是美满西牛为你收集整理的leetcode-29.两数相除(不用乘除法和mod)的全部内容,希望文章能够帮你解决leetcode-29.两数相除(不用乘除法和mod)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复