Pesquisar este blog

Livros Recomendados

quarta-feira, 13 de janeiro de 2021

URI - 1168 - LED - Strings - C++ - Solução Alternativa

Plataforma: URI
Problema1168

Enunciado:
João quer montar um painel de leds contendo diversos números. Ele não possui muitos leds, e não tem certeza se conseguirá montar o número desejado. Considerando a configuração dos leds que formam os números, faça um algoritmo que ajude João a descobrir a quantidade de leds necessário para montar o valor.

Linguagem: C++

Solução:
Basta fazer vários ifs aninhados (ou um switch, se preferir) com cada opção de dígito e o respectivo valor a ser incrementado na variável leds.

#include <iostream>
using namespace std;
int getTamanho(string v) {
    for (int len = 0; ; ++len)
        if (!v[len])
            return len;
}
int main() {
    int n, leds, j, i = 0;
    string v;
    char digito;
    cin >> n;
    cin.ignore();
    while (i++ < n) {
        leds = 0;
        cin >> v;
        for (j = 0; j < getTamanho(v); j++) {
            digito = v[j];
            if (digito == '1')
                leds += 2;
            else if (digito == '2' || digito == '3' || digito == '5')
                leds += 5;
            else if (digito == '4')
                leds += 4;
            else if (digito == '7')
                leds += 3;
            else if (digito == '8')
                leds += 7;
            else
                leds += 6;
        }
        cout << leds << " leds" << 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