1542 - Lendo Livros

Aqui precisamos de um pensamento um pouquinho mais elaborado...

Descrição

Descrição

Para qualquer valor de páginas do livro e qualquer velocidade, podemos calcular nosso tempo de leitura da seguinte maneira:

Tempo de leitura=Paˊginas do livroVelocidade de leitura\text{Tempo de leitura} = \frac{\text{Páginas do livro}}{\text{Velocidade de leitura}}

No enunciado, temos duas velocidades distintas onde, na velocidade mais rápida, economizamos uma quantidade de dias estabelecida pela entrada. Em outras palavras, podemos formar uma equação tal qual

Paˊginas do livroVelocidade lenta=Paˊginas do livroVelocidade raˊpida+Tempo economizado\frac{\text{Páginas do livro}}{\text{Velocidade lenta}} = \frac{\text{Páginas do livro}}{\text{Velocidade rápida}} + \text{Tempo economizado}

Considerando velocidade lenta como Q, tempo economizado como D e velocidade rápida como P, podemos descobrir nossa variável de interesse que são as páginas do livro (que podemos chamar de L). Logo

LQ=LP+DLP=LQ+DPQLPLQ=DPQL(PQ)=DPQL=DPQPQ\frac{L}{Q} = \frac{L}{P} + D\\ LP = LQ + DPQ\\ LP - LQ = DPQ\\ L(P - Q) = DPQ\\ L = \frac{DPQ}{P - Q}

Na linguagem Python, mudei a exceção a ser capturada para ValueError pois o programa deve parar de executar quando não conseguirmos mais receber os três valores.

#include <stdio.h>

int main(){
    int Q, D, P, L;

    while(scanf("%d", &Q)){
        if(!Q)  break;

        scanf("%d %d", &D, &P);

        L = (Q * D * P)/(P - Q);
        
        printf("%d pagina", L);
        if(L > 1)   printf("s");
        printf("\n");
    }

    return 0;
}

Last updated