Mais um problema da categoria Ad-Hoc! Esse é o "Fases da Lua", que envolve basicamente a criação de expressões lógicas em estruturas condicionais. Confira as respostas e compare com a sua solução!
Plataforma: URI (BEECROWD)
Problema: 1893
Enunciado:
Jade ganhou de presente de aniversário um telescópio e ficou muito feliz, pois adora olhar a lua à noite. Ela sempre foi uma estudante muito boa, e só analizando a lua por duas noites seguidas, já consegue identificar as mudanças que ocorreram na iluminação e o percentual aproximado da lua que está iluminada.
Você, que é amigo da Jade e estuda Computação, resolveu fazer um pequeno programa que, baseado nesta avaliação que ela fez nas duas últimas noites, informa a fase na qual a lua se encontra. Se a porção visível da lua no momento estiver entre 0 e 2%, por exemplo, é lua nova, se for entre 3 e 96% é lua crescente, se for entre 97 e 100% é lua cheia e se for entre 96 e 3% (diminuindo) é lua minguante.
Linguagens: C e C++
Solução:
Código em C:
Com base na porção visível, basta criar as condições para cada caso da lua utilizando estruturas condicionais.
#include <stdio.h> int main() { int parteVisivel1, parteVisivel2; while (scanf("%d %d", &parteVisivel1, &parteVisivel2) != EOF) { if (parteVisivel2 >= 97 && parteVisivel2 <= 100) printf("cheia\n"); else if (parteVisivel2 >= 0 && parteVisivel2 <= 2) printf("nova\n"); else if (parteVisivel2 >= 3 && parteVisivel2 <= 96 && parteVisivel2 > parteVisivel1) printf("crescente\n"); else printf("minguante\n"); } return 0; }
Código em C++:
Lógica igual a do código em C.
#include <iostream> using namespace std; int main() { int parteVisivel1, parteVisivel2; while (cin >> parteVisivel1 >> parteVisivel2) { if (parteVisivel2 >= 97 && parteVisivel2 <= 100) cout << "cheia"; else if (parteVisivel2 >= 0 && parteVisivel2 <= 2) cout << "nova"; else if (parteVisivel2 >= 3 && parteVisivel2 <= 96 && parteVisivel2 > parteVisivel1) cout << "crescente"; else cout << "minguante"; cout << endl; } return 0; }
Nenhum comentário:
Postar um comentário