Acabei de perceber que já tinha resolvido esse exercício, mas não postei a resposta. Então, hoje trago ela aqui pra todo mundo saber como se resolve o exercício Balão++. Dessa vez, exibo a solução em três linguagens, C, C++ e Haskell. Confira!
Plataforma: URI (BEECROWD)
Problema: 2840
Enunciado: Espero que você esteja curtindo a competição :D.
Nós, os autores (Diego Rangel, Francisco Arcos, Gabriel Duarte e Gustavo Policarpo), estamos felizes por você estar tentando resolver nossos problemas. Para você que é iniciante não sair da sala sem nenhum balão, aqui vai um desafio para você:
Neste ano os balões têm formato esférico, segundo a empresa que produz os balões: "(...) por motivos complexos de engenharia esse formato é melhor (...)" vai entender...
Entretanto esse formato faz com que o balão use mais gás hélio e isso causou um problema, pois o organizador já havia comprado um tanque com L litros de gás antes dessa novidade no mercado de balões.
Sabendo o raio do modelo de balões e a quantidade de gás hélio disponível, você poderia ajudar a equipe dizendo quantos balões podem ser enchidos completamente?
Solução:
Basicamente, precisamos ler dois valores e manipulá-los como números de ponto flutuante.
A fórmula do volume é (4/3) * pi * r³, sendo r o primeiro valor lido.
A resposta é o piso do resultado da divisão de l (segundo valor lido) pelo volume.
Fácil, né não?
Código em Haskell:
main :: IO () main = do line <- getLine let [r, l] = map read (words line) :: [Double] let vol = (4/3) * (3.1415 * r * r * r) let ans = l / vol print (floor ans)
Código em C:
#include <stdio.h> #include <math.h> int main () { double r, l, vol, total; scanf("%lf %lf", &r, &l); vol = (4/3.0) * (3.1415 * pow(r, 3)); total = l / vol; int ans = floor(total); printf("%d\n", ans); return 0; }
Código em C++:
#include <iostream> #include <cmath> using namespace std; int main () { double r, l; cin >> r >> l; double vol = (4/3.0) * (3.1415 * pow(r, 3)); double total = l / vol; int ans = floor(total); cout << ans << endl; return 0; }
Nenhum comentário:
Postar um comentário