A solução para o tipo 'arrojado' está multiplicando por 0.5 ou 0.3, quando deveria multiplicar por 0.05 ou 0.03, já que o retorno é de 5% ou 3%, certo?
A solução para o tipo 'arrojado' está multiplicando por 0.5 ou 0.3, quando deveria multiplicar por 0.05 ou 0.03, já que o retorno é de 5% ou 3%, certo?
Olá, Marllon
Você está absolutamente correto em sua observação. O tipo "ARROJADO" deve ter 20% de chances de retornar 5% (0.05), 30% de chances de retornar 3% (0.03), e 50% de chances de retornar 0.6% (0.006), e não os valores 0.5 e 0.3 que você mencionou.
Seu código para o tipo "ARROJADO" deveria se parecer com algo assim:
if (new Random().Next(101) <= 20)
{
return valorInvestido * 0.05; // 5%
}
else if (new Random().Next(101) <= 50)
{
return valorInvestido * 0.03; // 3%
}
else
{
return valorInvestido * 0.006; // 0.6%
}
Lembre-se, a probabilidade é acumulativa. Então, se você já verificou os 20% iniciais, a próxima verificação deve ser de 30%, e não 50%. Isso ocorre porque você já eliminou a possibilidade dos 20% iniciais, então os próximos 30% realmente se tornam 50% do restante.
Espero ter ajudado e bons estudos!