Bem vindo a aula 79 de nosso curso gratuito de programação com a linguagem C.
Na aula de hoje vamos continuar a resolução da nossa lista de exercícios fazendo um programa para calcular quanto dinheiro você guardou em 30 dias.
10) Você decidiu ficar rico guardando dinheiro por 30 dias consecutivos. Para tal, decidiu guardar 1 centavo no primeiro dia, 2 centavos no segundo dia, 4 centavos no terceiro dia, 8 centavos no quarto dia, e assim por diante. Faça um programa para calcular quanto você terá ao final dos 30 dias.
Este exercício exige um pouco mais de atenção. Perceba que não existe nenhum número inteiro que ao multiplicar 2 gere como resultado o valor 1 (valor guardado no primeiro dia). Assim, nossas variáveis valorInicial e valorFinal são inicializadas com o valor do primeiro dia.
Como já contamos o valor do primeiro dia no momento da inicialização das variáveis, nossa repetição irá executar então 29 vezes e não 30.
#include <stdio.h> #include <stdlib.h> int main() { int i, valorInicial = 1, valorFinal = 1; for(i = 1; i <= 29; i++){ valorInicial = valorInicial * 2; valorFinal += valorInicial; } printf("Valor em centavos: %d\n", valorFinal); printf("R$%.2f\n\n", valorFinal / 100.0); }
Não percebi porque o resultado termina com 3…. com multiplicação por 2 não devia ser assim.. porque não há numero que acabe por 3 pode ser dividido por 2 com resultado inteiro, logicamente não pode ser o numero inteiro ser multiplicado e ter 3 no final