using static System.Console;
public class Program {
public static void Main() {
var x = new Exemplo();
WriteLine(x.CalculaLucro());
}
}
public class Exemplo {
private decimal calculaDoacao(int iteracao, decimal valor) => 0.03M * calculaLucro(iteracao, valor);
private decimal calculaLucro(int iteracao, decimal valor) {
if (iteracao++ == 100) return valor;
return valor - calculaDoacao(iteracao, valor);
}
public decimal CalculaDoacao() => calculaDoacao(0, 10000M);
public decimal CalculaLucro() => calculaLucro(0, 10000M);
}
//https://pt.stackoverflow.com/q/348025/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwoKcHVibGljIGNsYXNzIFByb2dyYW0gewogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CiAgICAgICAgdmFyIHggPSBuZXcgRXhlbXBsbygpOwogICAgICAgIFdyaXRlTGluZSh4LkNhbGN1bGFMdWNybygpKTsKICAgIH0KfQoKcHVibGljIGNsYXNzIEV4ZW1wbG8gewogICAgcHJpdmF0ZSBkZWNpbWFsIGNhbGN1bGFEb2FjYW8oaW50IGl0ZXJhY2FvLCBkZWNpbWFsIHZhbG9yKSA9PiAwLjAzTSAqIGNhbGN1bGFMdWNybyhpdGVyYWNhbywgdmFsb3IpOwogICAgcHJpdmF0ZSBkZWNpbWFsIGNhbGN1bGFMdWNybyhpbnQgaXRlcmFjYW8sIGRlY2ltYWwgdmFsb3IpIHsKICAgICAgICBpZiAoaXRlcmFjYW8rKyA9PSAxMDApIHJldHVybiB2YWxvcjsKICAgICAgICByZXR1cm4gdmFsb3IgLSBjYWxjdWxhRG9hY2FvKGl0ZXJhY2FvLCB2YWxvcik7CiAgICB9CiAgICBwdWJsaWMgZGVjaW1hbCBDYWxjdWxhRG9hY2FvKCkgPT4gY2FsY3VsYURvYWNhbygwLCAxMDAwME0pOwogICAgcHVibGljIGRlY2ltYWwgQ2FsY3VsYUx1Y3JvKCkgPT4gY2FsY3VsYUx1Y3JvKDAsIDEwMDAwTSk7Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzM0ODAyNS8xMDE=