算法
給定兩個(gè)數(shù)相乘虑灰,不能使用乘號(hào)或者循環(huán)
解法 1:
使用遞歸,a*b = a+a+a+...(b個(gè)a)
int mul(int a, int b){
if (a == 0 || b == 0)
return 0;
if (b == 1)
return a;
if (a == 1)
return b;
return a + mul(a, b - 1);
}
int mult(int a,int b){
int m = mul(a, abs(b));
return (b<0)?(-m):m;
}
解法 2:
沒說不能用除非呀痹兜,對(duì)不對(duì)D赂馈!W中瘛对湃!
int mult2 (int a,int b){
return b != 0 ? a/(1.0/b):0;
}