Pesquisar este blog

Livros Recomendados

domingo, 21 de março de 2021

URI (BEECROWD) - 2868 - Errrou! - Ad-Hoc - C e C++

Hoje vamos resolver outro problema do URI/BEECROWD: "Errou!", da categoria Ad-Hoc, em C e C++.

Plataforma: URI (BEECROWD)

Problema2868

Linguagens: C e C++

Solução:

A lógica utilizada em C e C++ foi a mesma, confira na sequência. Uma opção minha nessa solução não foi de montar a string completa para depois imprimir, pois ela segue sempre o mesmo comportamento: imprime o "E", depois quantos "r" forem necessários e depois "ou!". Nesse caso, fixei os comandos de escrita e somente a escrita do "r" eu coloquei em um laço de repetição. Conseguiu compreender a solução? Conta aí pra nós!

Código em C:

#include <stdio.h>

int main() {
    int c, n1, n2, resLida, resReal, quantR;
    char op, ig;
    scanf("%i", &c);
    
    while (c--) {
        scanf("%i %c %i %c %i", &n1, &op, &n2, &ig, &resLida);
        
        switch (op) {
            case '+':
                resReal = n1 + n2;
                break;
            case '-':
                resReal = n1 - n2;
                break;
            default:
                resReal = n1 * n2;
                break;
        }
        
        quantR = (resReal>resLida? resReal-resLida : resLida-resReal);
        
        printf("E");
        
        for (i  = 0; i < quantR; i++)
            printf("r");
            
        printf("ou!\n");
         
    }

    return 0;
}

Código em C++:

#include <iostream>

using namespace std;

int main()
{
    int c, n1, n2, resLida, resReal, quantR;
    char op, ig;
    cin >> c;
    
    while (c--) {
        cin >> n1 >> op >> n2 >> ig >> resLida;
        
        switch (op) {
            case '+':
                resReal = n1 + n2;
                break;
            case '-':
                resReal = n1 - n2;
                break;
            default:
                resReal = n1 * n2;
                break;
        }
        
        quantR = (resReal>resLida? resReal-resLida : resLida-resReal);
        
        cout << "E";
        
        for (int i  = 0; i < quantR; i++)
            cout << "r";
            
        cout << "ou!" << 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