Olá! Nesse post trago a solução para outro problema iniciante: "Construindo Casas". Abaixo você obtém todas as informações sobre o problema e sua solução. Confira!
Plataforma: URI (BEECROWD)
Problema: 1541
Enunciado:
Sr PI é um construtor muito famoso na cidade de Programolândia. Ele precisa de sua ajuda para encontrar os melhores terrenos da cidade, para realizar assim a construção de vários projetos de casas que possui. Considere que ele tenha por exemplo, um projeto para construir uma casa de 8 metros por 10 metros, e a legislação do município permite a construção de no máximo 100% do terreno. Como todos os terrenos nesta cidade são perfeitamente quadrados e o valor dos lados da casa são apenas uma referência para a área total a ser construída (80 metros quadrados), o sr PI precisaria de um terreno de 8.994 metros, o que simplificado daria como resultado 8 metros e o tamanho real da casa seria de 64 metros quadrados. Se a legislação permitisse a utilizar 50% do terreno, o mesmo teria que ter 160 metros para que 50% dele fosse 80 metros quadrados, o suficiente para uma casa de 8 x 8 metros (64 metros quadrados). No primeiro caso de teste, como o percentual para construir é de apenas 20%, o terreno teria que ter 20 metros de lado para que 1/5 deste terreno tivesse o tamanho de 80 metros quadrados. Ajude o sr PI a determinar o tamanho minimo do terreno.
Linguagens: C e C++
Solução:
Em todas as soluções a fórmula é a mesma, raíz quadrada de a*b*100/c. Mudam poucos detalhes nas soluções, confira abaixo.
Código em C:
Criei um laço de repetição infinito com while (1) e li o valor de a. Se este valor for zero, já interrompe a execução, pois chegou à entrada final. Depois lê b e c e imprime a fórmula. É necessário fazer o cast para inteiro, pois sqrt retorna double.
#include <stdio.h> #include <math.h> int main() { int a, b, c; while (1) { scanf("%i", &a); if (a == 0) break; scanf("%i %i", &b, &c); printf("%i\n", (int) sqrt(a * b * 100 / c)); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <iostream> #include <cmath> using namespace std; int main() { int a,b,c; cin >> a; while(a!=0){ cin >> b; cin >> c; int result = sqrt(a*b/(1.0*c/100)); cout << result << endl; cin >> a; } } |
#include <iostream> #include <cmath> using namespace std; int main() { int a, b, c; while (1) { cin >> a; if (a == 0) break; cin >> b >> c; cout << (int) sqrt(a * b * 100 / c) << endl; } return 0; }
Nenhum comentário:
Postar um comentário