Pesquisar este blog

Livros Recomendados

domingo, 5 de abril de 2020

URI - 1168 - LED - Strings - C

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:
Neste problema é necessário saber quantos leds há em cada caractere numérico, a saber:
1: 2 leds
2: 5 leds
3: 5 leds
4: 4 leds
5: 5 leds
6: 6 leds
7: 3 leds
8: 7 leds
9: 6 leds

Desta forma, era necessário apenas percorrer a string (char *) e acumular a quantidade de leds com base na quantidade de leds que cada caractere numérico contém.


#include <stdio.h>
#include <string.h>

int main() {
    int n, leds, j, i = 0;
    
    char *v = (char *) malloc(sizeof(char) * 100);
    
    scanf("%i", &n);
    
    while (i++ < n) {
        leds = 0;
        j = 0;
        scanf("%s", v);
        
        while (j < strlen(v)) {
            switch(v[j]) {
                case '1': leds += 2; break;
                case '2':
                case '3':
                case '5': leds += 5; break;
                case '4': leds += 4; break;
                case '7': leds += 3; break;
                case '8': leds += 7; break;
                default: leds += 6; break;
            }
            j++;
        }
        
        printf("%i leds\n", leds);
    }

    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