Pesquisar este blog

Livros Recomendados

sexta-feira, 5 de fevereiro de 2021

URI (BEECROWD) - 1379 - Problema com Mediana e Média - Ad-Hoc - C e C++

Olá! Retornando às postagens de exercícios do Beecrowd, trago hoje a solução do "Problema com Mediana e Média". A solução aqui era muito simples, veja abaixo!

Plataforma: URI (BEECROWD)

Problema1379

Enunciado:
A média de três inteiros A, B e C é (A + B + C)/3. A mediana de três números inteiros seria então aquela que estaria no meio, se forem ordenados em ordem não decrescente. Dados dois números inteiros A e B, retornar o mínimo inteiro possível C, tal que a média e a mediana de A, B e C, sejam iguais.

Linguagens: C e C++


Solução:

Fiz um laço infinito para ler os valores "a" e "b", saindo do programa se eles forem iguais a zero.

Não caindo nessa condição, bastava imprimir o dobro de "a" e subtrair este valor de b. Como a multiplicação tem precedência, basta imprimir 2 * a - b.

As duas soluções abaixo são idênticas e trabalham este mesmo raciocínio explicado.

Código em C:

#include <stdio.h>
#include <stdlib.h>

int main() {
    
    int a, b;
    while (1) {
        
        scanf("%d %d", &a, &b);
        if (!a && !b)
            exit(0);
            
        printf("%d\n", 2 * a - b);
    }

    return 0;
}

Código em C++:


#include <iostream>

using namespace std;

int main() {
    
    int a, b;
    while (true) {
        
        cin >> a >> b;
        if (!a && !b)
            exit(0);
            
        cout << 2 * a - b << 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