Pesquisar este blog

Livros Recomendados

quarta-feira, 17 de fevereiro de 2021

URI (BEECROWD) - 1555 - Funções - Matemática - C e C+

Hoje é dia de postar um problema de Matemática para vocês! Esse problema é intitulado "Funções".

Plataforma: URI (BEECROWD)

Problema1555

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;
}

Código em C++:

#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

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas