微软面试题:编程实现两个正整数的除法

编程实现两个正整数的除法,当然不能用除法操作符。 
// return x/y. 
int div(const int x, const int y) { 
.... 
}

 

// return x/y

int div(const int x, const int y) {
int left_num = x;
int result = 0;
while (left_num >= y) {
    int multi = 1;
    while (y * multi <= (left_num >> 1)) {
       multi = multi << 1;
    }
    result += multi;
    left_num -= y * multi;
}
return result;
}

扩展问题:
如果需要测试上面这个函数,需要哪些测试用例?
时间: 2024-09-20 10:36:56

微软面试题:编程实现两个正整数的除法的相关文章

输入两个正整数m和n并求其最大公约数和最小公倍数

查看全套"c语言习题集" 题目: 输入两个正整数m和n,求其最大公约数和最小公倍数. 1.程序分析:利用辗除法. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ int a,b,num1,num2,temp; printf("please input two numbers:\n"); scanf("%d,%d",&num1,&num

VC编程实现两个经AVIMakeCompressedStream压缩的AVI文件的连接

问题描述 VC编程实现两个经AVIMakeCompressedStream压缩的AVI文件的连接 即怎么在压缩的AVI文件中添加帧,并保证添加的帧之间具有相关性压缩,视频尽量小 解决方案 添加帧可以用OpenCV的videowriter来做,这个类是一帧一帧的写入视频文件的

求高手相助,java数据结构中使用链栈编程实现两个大数相减

问题描述 求高手相助,java数据结构中使用链栈编程实现两个大数相减 求高手相助,急交作业的,java数据结构中使用链栈编程实现两个大数相减,感激不尽. 解决方案 今天已经23号了....已经晚了我就不给你做了..原理思路你这里都有了..节哀

c++-从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现

问题描述 从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现 用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急 解决方案 http://ww

微软面试题:正则表达式提取链接地址

写出正则表达式,从一个字符串中提取链接地址.比如下面字符串中  "IT面试题博客中包含很多  <a href=http://hi.baidu.com/mianshiti/blog/category/微软面试题> 微软面试题 </a> "  则需要提取的地址为 " http://hi.baidu.com/mianshiti/blog/category/微软面试题 " 在python中:  import re  p = re.compile('&

c-输入两个正整数m和n,求其最大公约数和最小公倍数。

问题描述 输入两个正整数m和n,求其最大公约数和最小公倍数. 输入两个正整数m和n,求其最大公约数和最小公倍数. 解决方案 #include "stdio.h" #include "conio.h" main() { int a,b,num1,num2,temp; printf("please input two numbers: "); scanf("%d,%d",&num1,&num2); if(num1&

java-急求Java socket编程实现两个客户端通信通过服务器转发不要图形界面不用连接数据库

问题描述 急求Java socket编程实现两个客户端通信通过服务器转发不要图形界面不用连接数据库 实现两个客户端通信通过服务器转发不要图形界面不用连接数据库 求源码 解决方案 通过服务器,也就是说各个客户端与服务器要正常通讯,这是最基本的要求.这个要求应该不难吧,网上有很多类似的代码,如Android Socket 编程(WIFI 和 ADB),这是我在 CSDN 博客中的一篇文章,希望对你有帮助. 然后呢,做协议,当服务器接收到数据满足一定的格式.或所有数据,都转发到另一端. 解决方案二:

c++-编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。

问题描述 编程实现两字符串的连接.要求使用字符数组保存字符串,不要使用系统函数. 编程实现两字符串的连接.定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出.用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝. #include using namespace std; int main() { char a[500]; char b[500]; cin>>a; for(int i=0;i if(

微软将在澳大利亚投建两座云计算数据中心

北京时间5月21日消息,据路透社报道,微软计划在澳大利亚投建两座新云计算数据中心,拓展该公司的托管和在线数据处理服务. 微软周二表示,他们正在拓展旗下Windows Azure云计算业务,将在澳大利亚重要新区投建数据中心.这两座数据中心将在新南威尔士州和维多利亚州投建.数据中心的作用是出租云计算和存储等技术资源. 亚马逊是云计算领域的先驱,对于微软来说,云计算也是一项快速增长的业务,它也吸引了包括谷歌在内的其他大型科技公司的注意力. 微软称,旗下Windows Azure云服务客户超过20万,但