作者snowlike (snowlike)
看板C_and_CPP
標題Re: [問題] a的b次方實作時間logb之遞迴寫法
時間Thu Mar 25 01:19:26 2010
未看回覆先試
int fastpow(int num, int pow) {
if(pow>0) {
if(pow&1) {
return fastpow(num, pow-1)*num;
//看過之後覺得orz..
//return fastpow(num*num, pow>>1)*num;
} else {
return fastpow(num*num, pow>>1);
}
}
return 1;
}
也是看過之後覺得..很長
int fastpow(int num, int pow) {
return pow>0?(pow&1?fastpow(num*num, pow>>1)*num:
fastpow(num*num, pow>>1)):1;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.184.50
→ Benedy:過份使用三元運算子會不會換來低可讀性? 03/25 05:28
推 ledia:會, 不過反正寫在這不會有別人要接手, 所以無所謂啦 XD 03/25 08:45