PHP 递归地将百分比应用于金额的函数
PHP function to recursively apply a percentage to an amount
所以我正在尝试创建一个函数,它接受金额、百分比(小数)和时间,并且 returns 是金额的两倍。
我期望的结果如下:
$amount = 10000
$percentage = 1.1
$times = 1
所以..
elevateToPercentage($amount, $percentage, $times) = 10,000 * 1.1 = 11,000
$times = 2
elevateToPercentage($amount, $percentage, $times) = ((10,000 * 1.1) * 1.1) = 12,100
$times = 4
elevateToPercentage($amount, $percentage, $times) = ((((10,000 * 1.1) * 1.1) * 1.1) * 1.1) = 14,641
private function elevateToPercentage($amount, $percentage, $times) {
$count = 0;
for( $a = 0; $a <= $times; $a++ ) {
$count += ($amount * $percentage);
}
return $count;
}
我知道这是一个逻辑错误,但我睡得太多了,现在似乎不再工作了:(
你们能帮帮我吗?
谢谢!
可以使用pow函数实现
function elevateToPercentage($amount, $percentage, $times) {
$multiple = pow($percentage, $times);
return number_format($amount*$multiple) ;
}
$amount = 10000;
$percentage = 1.1;
$times = 1;
echo elevateToPercentage($amount, $percentage, $times);
输出:
$times = 1; 11,000
$times = 2; 12,100
$times = 4; 14,641
怎么样:
function elevateToPercentage($amount, $percentage, $times) {
if ($times == 1){
return $amount * $percentage;
}else{
return $percentage * elevateToPercentage($amount, $percentage, $times -1);
}
}
所以我正在尝试创建一个函数,它接受金额、百分比(小数)和时间,并且 returns 是金额的两倍。
我期望的结果如下:
$amount = 10000
$percentage = 1.1
$times = 1
所以..
elevateToPercentage($amount, $percentage, $times) = 10,000 * 1.1 = 11,000
$times = 2
elevateToPercentage($amount, $percentage, $times) = ((10,000 * 1.1) * 1.1) = 12,100
$times = 4
elevateToPercentage($amount, $percentage, $times) = ((((10,000 * 1.1) * 1.1) * 1.1) * 1.1) = 14,641
private function elevateToPercentage($amount, $percentage, $times) {
$count = 0;
for( $a = 0; $a <= $times; $a++ ) {
$count += ($amount * $percentage);
}
return $count;
}
我知道这是一个逻辑错误,但我睡得太多了,现在似乎不再工作了:( 你们能帮帮我吗?
谢谢!
可以使用pow函数实现
function elevateToPercentage($amount, $percentage, $times) {
$multiple = pow($percentage, $times);
return number_format($amount*$multiple) ;
}
$amount = 10000;
$percentage = 1.1;
$times = 1;
echo elevateToPercentage($amount, $percentage, $times);
输出:
$times = 1; 11,000
$times = 2; 12,100
$times = 4; 14,641
怎么样:
function elevateToPercentage($amount, $percentage, $times) {
if ($times == 1){
return $amount * $percentage;
}else{
return $percentage * elevateToPercentage($amount, $percentage, $times -1);
}
}