O problema Lendo Livros foi resolvido! Mais um da categoria ad-hoc do Beecrowd que resolvo e posto para vocês. Vejam abaixo como fiz para resolvê-lo nas duas linguagens de sempre, C e C++!
Plataforma: URI (BEECROWD)
Problema: 1542
Enunciado:
Você começou a competir com seu amigo para ver quem consegue ler mais livros em menos tempo. Seu amigo lia muito mais que você, até o dia que você percebeu que ele lia somente livros muito finos.
Então você resolveu contar as páginas dos livros, aumentando também a quantidade de páginas lidas por dia. Agora você lê 5 páginas por dia e termina 16 dias antes do que se estivesse lendo 3 páginas por dia. Neste cenário, quantas páginas tem o livro?
Linguagens: C e C++
Solução:
A solução se baseia unicamente em utilizar a fórmula q x d x p / (p-q) e imprimir o resultado. Só precisa perceber que se o resultado é 1, deve imprimir "pagina", e não "paginas".
Código em C:
Aqui o teste r==1 foi feito para saber se imprimia pagina ou paginas caso contrário.
#include <stdio.h> int main() { int q, d, p, r; while (scanf("%d", &q) != EOF) { if (!q) break; scanf("%d %d", &d, &p); r = q * d * p / (p - q); if (r == 1) printf("%d pagina\n", r); else printf("%d paginas\n", r); } return 0; }
Código em C++:
Aqui fiz um pouco diferente e sempre imprimo "pagina", mas se r for diferente de 1, imprimo a letra s no fim. Depois, imprimo nova linha. Assim aproveito para escrever menos :)
#include <iostream> using namespace std; int main() { int q, d, p, r; while (cin >> q) { if (!q) break; cin >> d >> p; r = q * d * p / (p - q); cout << r << " pagina"; if (r != 1) cout << "s"; cout << endl; } return 0; }
Nenhum comentário:
Postar um comentário