用++操作符完成其它操作符的转换

来源:互联网 发布:淘宝热卖网 编辑:程序博客网 时间:2024/06/14 16:10

在只容许使用++操作符的情况下,请完成下面代码,实现减法、乘法和除法。注意:假设操作数全为正整数,并且可以不考虑性能,不能使用–,*,/等操作符。
a). 乘法: int multi(int opl,int op2){//op1*op2}
b). 减法: intsub(int op1,int op2){//op1-op2}
c). 除法: int div(int op1,int op2){//op1/op2}

中心思想:利用for循环来实现不能用其它操作符的短板 int multi(int opl,int op2)//op1*op2 {      int mu = op1 ;      for ( int i = 1 ; i < op2 ; i ++)//控制外层循环个数,也可以和op1交换位置,但是如果换了就要把mu赋值也换了,它小于op2而不是等于是因为前面mu已经被赋值一次          for ( int j = 1 ; j <= op1 ; j ++)             mu ++;      return mu ; }int sub(int op1,int op2)//op1-op2intsub(in top1,int op2) {    int n=0;    for( int i=op2;i<op1;++i )  {       n++;    }    return n;}int div(int op1,int op2)//op1/op2 {     int di = 1;    int temp = op2 ;      while ( op1  >= op2 )//这里如果假设op2是小一点的数会更好的理解。      {          for ( int i = 0 ; i < temp ; i ++)        op2 ++;//利用自身循环和加一的特点,如果自己转完加到了temp一次,就表明满足一次,di就++一次,每次加一,然后判断op1是否等于op2,如果不等于,继续循环,如果等于,退出返回di。        di ++;      }      return  di ; } 
0 0