1893 - Fases da Lua

Um problema bem tranquilo com um pequeno detalhe.

Descrição

Solução

O problema consiste em comparar o segundo número e verificar se ele está em algum dos intervalos estabelecidos. Entretanto, olhando apenas o segundo valor, podemos ficar na dúvida em relação a certos intervalos, e é para isso que serve o primeiro número, para desempatar os critérios. Desta maneira, temos

  • Se o segundo número estiver entre 0 e 2, temos certeza que é lua nova

  • Se o segundo número estiver entre 97 e 100, temos certeza que é lua cheia

  • Caso contrário, não temos certeza se a lua é minguante ou crescente só com o segundo número

    • Se o primeiro número for maior que o segundo, então é lua minguante (diminuindo)

    • Caso contrário, é lua crescente (crescendo)

#include <stdio.h>

int main(){
    int ontem, hoje;

    scanf("%d %d", &ontem, &hoje);

    if(hoje < 3)            printf("nova\n");
    else if(hoje > 96)      printf("cheia\n");
    else if(hoje < ontem)   printf("minguante\n");
    else                    printf("crescente\n");

    return 0;
}

Last updated