今天遇到了这样一个问题:
问:
A. 1元钱一瓶汽水,喝完后2个空瓶换一瓶汽水,如果你有20元钱,最多能喝到几瓶汽水。
B. 请写出X元钱可以喝到多少汽水的程序
解:
2换1,2换1,都是有固定规律的换法,这里可以用迭代处理。
/**
* x为当前汽水数,c为多少个空瓶能换一瓶汽水(需大于等于2。1会产生异常解),totoal为汽水总数
*/
function qishui($x,$c = 2,$total = 0 ){
$total += $x; //每次都将当前汽水数加入总数
//intval($x/$c 当前汽水喝完后空瓶所能兑换的汽水数
return $x <$c ? $total : $this->qishui(intval($x/$c),$total,$c);
}