不用加减乘除做加法
2013-05-03 21:01
141 查看
#include <stdio.h> #define Times 7 int sum(int a,int b) { int sum1,carry,num1,num2; sum1=a^b; carry=(a&b)<<1; num1=sum1; num2=carry; while(carry!= 0) { sum1=num1^num2; carry=(num1&num2)<<1; num1=sum1; num2=carry; } return sum1; //if(b==0) return a;//没有进位的时候完成运算 //int sum,carry; //sum=a^b;//完成第一步没有进位的加法运算 //carry=(a&b)<<1;//完成第二步进位并且左移运算 //return sum1(sum,carry);//进行递归,相加 } void main() { int a,b,i,temp; while(1) { scanf("%d,%d",&a,&b); getchar(); a=sum(a,b); printf("相加结果%d\n",a); temp=0; for( i=0;i<Times;i++) //任意倍数的乘法 temp=sum(temp,3); printf("乘以7结果:%d",temp); } }在网上看了个版本的不用加减乘除做加法,有点问题,改了一下发上来。另外增加一个实现任意倍数的乘法。
相关文章推荐
- 剑指offer——不用加减乘除做加法
- 剑指offer——不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 不用加减乘除做加法
- 剑指offer——49.不用加减乘除做加法
- 剑指offer--不用加减乘除做加法
- 不用加减乘除做加法(C++)
- 不用加减乘除做加法
- 不用加减乘除做加法
- 剑指offer(51):不用加减乘除做加法
- 剑指Offer-65:不用加减乘除做加法
- 《剑指offer》-不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 不用加减乘除做加法
- 【剑指offer】不用加减乘除做加法
- 剑指offer——不用加减乘除做加法
- 【剑指offer】不用加减乘除来做加法
- 剑指offer_不用加减乘除做加法
- 剑指Offer之 - 不用加减乘除做加法