Hoje é dia de postar um problema de Matemática para vocês! Esse problema é intitulado "Funções".
Plataforma: URI (BEECROWD)
Problema: 1555
Enunciado:
Na última aula de matemática, Rafael, Beto e Carlos aprenderam algumas novas funções matemáticas. Cada um deles se identificou com uma função em especial, e resolveram competir para ver quem tinha a função de maior resultado.
A função que Rafael escolheu é r(x, y) = (3x)² + y².
Já Beto escolheu a função b(x, y) = 2(x²) + (5y)².
Carlos, por sua vez, escolheu a função c(x, y) = -100x + y³.
Dados os valores x e y, diga quem escolheu a função com o maior resultado.
Linguagens: C e C++
Solução:
Aqui basta implementar as três funções com os valores x e y lidos e verificar qual resulta em valor maior. Eu salvei o resultado de cada função em uma variável (rafael, beto e carlos, respectivamente) e as comparei. Como o valor de n (quantidade de testes) é pequeno, declarei como short int. Daria para tirar o sinal, utilizando também unsigned. E você, como resolveu?
Código em C:
#include <stdio.h> int main() { short int n; scanf("%hd", &n); while (n--) { int x, y, rafael, beto, carlos; scanf("%d %d", &x, &y); rafael = 9 * x * x + y * y; beto = 2 * x * x + 25 * y * y; carlos = -100 * x + y * y * y; if (rafael >= beto && rafael >= carlos) printf("Rafael ganhou\n"); else if (beto >= rafael && beto >= carlos) printf("Beto ganhou\n"); else printf("Carlos ganhou\n"); } return 0; }
#include <iostream> using namespace std; int main() { short int n; cin >> n; while (n--) { int x, y, rafael, beto, carlos; cin >> x >> y; rafael = 9 * x * x + y * y; beto = 2 * x * x + 25 * y * y; carlos = -100 * x + y * y * y; if (rafael >= beto && rafael >= carlos) cout << "Rafael ganhou" << endl; else if (beto >= rafael && beto >= carlos) cout << "Beto ganhou" << endl; else cout << "Carlos ganhou" << endl; } return 0; }
Nenhum comentário:
Postar um comentário