/ Função PHP para aplicar recursivamente uma porcentagem a um valor - php, lógica, otimização matemática

Função PHP para aplicar recursivamente uma porcentagem a uma quantia - php, lógica, otimização matemática

Então eu estou tentando criar uma função que leva quantidade, porcentagem (decimal) e horários e retorna um duplo com o valor.

O resultado que espero é o seguinte:

$amount = 10000
$percentage = 1.1
$times = 1

assim..

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;
}

Eu sei que isso é um erro de lógica, mas eu tenho sido muito e parece que não funcionam mais agora :( vocês podem me ajudar?

Obrigado!

Respostas:

2 para resposta № 1

Sobre o quê:

function elevateToPercentage($amount, $percentage, $times) {
if ($times == 1){
return $amount * $percentage;
}else{
return $percentage * elevateToPercentage($amount, $percentage, $times -1);
}
}

4 para resposta № 2

Você pode consegui-lo usando a função 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);

Coloque para fora:

$times = 1; 11,000
$times = 2;  12,100
$times = 4; 14,641