Vamos resolver aqui o problema "Crescimnto Populacional"! É um problema muito bom para praticar a lógica de programação. Vamos lá?
Problema: 1160
Enunciado:
Mariazinha quer resolver um problema interessante. Dadas as informações de população e a taxa de crescimento de duas cidades quaisquer (A e B), ela gostaria de saber quantos anos levará para que a cidade menor (sempre é a cidade A) ultrapasse a cidade B em população. Claro que ela quer saber apenas para as cidades cuja taxa de crescimento da cidade A é maior do que a taxa de crescimento da cidade B, portanto, previamente já separou para você apenas os casos de teste que tem a taxa de crescimento maior para a cidade A. Sua tarefa é construir um programa que apresente o tempo em anos para cada caso de teste.
Porém, em alguns casos o tempo pode ser muito grande, e Mariazinha não se interessa em saber exatamente o tempo para estes casos. Basta que você informe, nesta situação, a mensagem "Mais de 1 século.".
Neste exercício o algoritmo faz o cálculo da fórmula e a cada iteração é verificado se a população de A (pa) já ultrapassou a população de B (pb). Quando isso ocorre, é impresso a quantidade de anos (quantas vezes o laço while iterou).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream> using namespace std; int main() { int n; cin >> n; while (n--) { int pa, pb; double g1,g2; cin >> pa >> pb >> g1 >> g2; int anos = 0; while(pa<=pb){ anos++; if(anos>100) break; pa = pa*(1.0+g1/100); pb = pb*(1.0+g2/100); } if(anos<=100) cout << anos <<" anos."<<endl; else cout << "Mais de 1 seculo." << endl; } return 0; } |
Nenhum comentário:
Postar um comentário