传媒网站建设网,网站开发进度计划,东北大学秦皇岛吧,asp网站源码代码实现#xff1a; 思路#xff1a;用减法模拟除法 // 用减法模拟除法
int func(int a, int b) { // a、b均为负数int ans 0;while (a b) { // a的绝对值大于等于b#xff0c;表示此时a够减int t b;int count 1; // 用来计数被减的次数// t INT_MIN / 2:防止… 代码实现 思路用减法模拟除法 // 用减法模拟除法
int func(int a, int b) { // a、b均为负数int ans 0;while (a b) { // a的绝对值大于等于b表示此时a够减int t b;int count 1; // 用来计数被减的次数// t INT_MIN / 2:防止减数越界并且保证a的绝对值比两倍减数的绝对值大while (t INT_MIN / 2 a t t) {count count;t t;}ans count;a - t;}return ans;
}int divide(int a, int b) {// 特殊情况特殊处理if (a INT_MIN b -1 || b 0) {return INT_MAX;}if (a INT_MIN b 1) {return INT_MIN;}// 标志位储存运算结果的正负bool flag true;// 将a、b统一转换为负数进行处理if (a 0) {flag !flag;a -a;}if (b 0) {flag !flag;b -b;}// 用减法模拟除法int ans func(a, b);// 根据标志位判定结果的正负return flag ? ans : -ans;
}