Repository navigation
Expand file tree
/
Copy pathas02.cc
More file actions
59 lines (47 loc) · 1.51 KB
/
Copy pathas02.cc
File metadata and controls
59 lines (47 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
Pucminas - Ciência da Computação - Coração Eucarístico
LPA G1 - Segunda - Manhã
Nome: Pedro Henrique Lima Carvalho
Matricula: 651230
AS02
Análise:
Desconsiderando o número de entradas, o código realizará uma operação de subtração (Valor ASCII -48)
e uma de soma (acúmulo do número de leds de cada algarimso) para cada algarismo da entrada.
Esse problema tem crescimento linear. Considerando n o número de algarimos da entrada, complexidade O(n).
*/
//Dependencias
#include <iostream>
//Namespace
using namespace std;
/*
Main
*/
int main(){
//Declaracoes
int total, saida;
string entrada;
int mapa[10]; //vetor de mapeamento entre numero e quantidade de leds
//Inicializar vetor de mapeamento
mapa[0] = 6; mapa[1] = 2;
mapa[2] = 5; mapa[3] = 5;
mapa[4] = 4; mapa[5] = 5;
mapa[6] = 6; mapa[7] = 3;
mapa[8] = 7; mapa[9] = 6;
//Ler total de entradas
cin >> total;
//Repetir quantidade de entradas
for(int i=0; i<total; i++){
//inicializacao
cin >> entrada;
saida = 0;
//Repetir quantidade de algarismos no numero
for(int j=0; entrada[j]!='\0'; j++){
//utilizando o vetor de mapeamento, soma ao valor de saida o numero de leds necessario
//para aquele algarismo. Calculo a partir do valor ASCII do caractere - 48.
saida += mapa[entrada[j]-48];
}
//Mostrar saida
cout << saida << " leds" << endl;
}
return 0;
}