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. 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.". Atenção: A população é sempre um valor inteiro, portanto, um crescimento de
2.5 % sobre uma população de 100 pessoas resultará em 102 pessoas, e não 102.5 pessoas,
enquanto um crescimento de 2.5% sobre uma população de 1000 pessoas resultará em
1025 pessoas.
Soluções para a tarefa
O programa construído ficará assim:
#include <stdio.h>
int main()
{
int n, c, m;
int a, b;
double ac, bc;
scanf("%d", &n);
for(m=1; m<=n; m++)
{
c = 0;
scanf("%d %d %lf %lf", &a, &b, &ac, &bc);
while(a <= b)
{
a *= (ac / 100.0) + 1.0;
b *= (bc / 100.0) + 1.0;
c++;
if (c > 100)
{
printf("Mais de 1 seculo.\n");
break;
}
}
if (c <= 100)
printf("%d anos.\n", c);
}
return 0;
}
Algoritmo consiste em uma sequência finita de instruções definidas e sem ambiguidade, onde cada uma deve ser executada mecanicamente ou eletronicamente considerando um intervalo finito de tempo. São muito utilizados na programação.
Bons estudos!