Vamos com mais uma solução!
Fuso Horário é o problema resolvido e postado aqui. Este problema envolve o operador resto da divisão inteira. É bem fácil, confira abaixo!
Plataforma: URI (BEECROWD)
Problema: 2057
Enunciado:
Paulo e Pedro fizeram uma longa jornada desde que partiram do Brasil para competir na Final Mundial da Maratona, em Phuket, Tailândia. Notaram que a cada escala que faziam, tinham que ajustar seus relógios por causa do fuso horário.
Assim, para melhor se organizarem para as próximas viagens, eles pediram que você faça um aplicativo para celular que, dada a hora de saída, tempo de viagem e o fuso do destino com relação à origem, você informe a hora de chegada de cada vôo no destino.
Por exemplo, se eles partiram às 10 horas da manhã para uma viagem de 4 horas rumo a um destino que fica à leste, em um fuso horário com uma hora a mais com relação ao fuso horário do ponto de partida, a hora de chegada terá que ser: 10 horas + 4 horas de viagem + 1 hora de deslocamento pelo fuso, ou seja, chegarão às 15 horas. Note que se a hora calculada for igual a 24, seu programa deverá imprimir 0 (zero).
Linguagens: C e C++
Solução:
Após ler os valores informados, basta somar saida, tempo e fuso e obter o resto da divisão disso por 24, pois são 24 horas. Se o valor for negativo, significa que voltou. Como o valor estará negativo, é necessário somar 24 a ele. Se não estiver negativo, já será a resposta. Utilizei o operador ternário aqui para resolver em menos linhas.
Código em C:
#include <stdio.h> int main() { int saida, tempo, fuso, resposta; scanf("%i %i %i", &saida, &tempo, &fuso); resposta = (saida + tempo + fuso) % 24; printf("%i\n", (resposta < 0? 24 + resposta : resposta)); return 0; }
Código em C++:
#include <iostream> using namespace std; int main() { int saida, tempo, fuso, resposta; cin >> saida >> tempo >> fuso; resposta = (saida + tempo + fuso) % 24; cout << (resposta < 0? 24 + resposta : resposta) << endl; return 0; }
Nenhum comentário:
Postar um comentário