Etapa3
var qtd:vetor[0..9] de inteiro N, V, aux, alg, i, qtd_leds: inteiro inicio qtd[0] <- 6 qtd[1] <- 2 qtd[2] <- 5 qtd[3] <- 5 qtd[4] <- 4 qtd[5] <- 5 qtd[6] <- 6 qtd[7] <- 4 qtd[8] <- 7 qtd[9] <- 6 leia(N) enquanto ((N < 1) ou (N > 2000)) faca escreva("Valor inválido. Informe o número de casos de teste entre 1 e 2000: ") leia(N) fimenquanto para i de 1 ate N faca leia (V) enquanto ((V < 1) ou (V > 10100)) faca escreva("Valor inválido. Informe um número entre 1 e 10100: ") leia(V) fimenquanto qtd_leds <- 0 aux <- V enquanto (aux > 0) faca alg <- aux % 10 qtd_leds <- qtd_leds + qtd[alg] aux <- aux \ 10 fimenquanto escreval("Número: ", V, " Joao precisa de -> ", qtd_leds, " leds") fimpara fimalgoritmo Declaração das variáveis
Etapa 4
Algoritmo “Problema de Josephus” var nc: inteiro n, i: inteiro m, contador, valorInteiro: inteiro escolhido: real
Início do Algoritmo escreval (":::::::::: CODIGO DE ELIMINACAO BASEADO NO 'PROBLEMA DE JOSEPHUS' ::::::::::") escreval escreval (" Primeiramente, informe a quantidade de casos de teste que deseja executar...") escreva (" -> ") leia (nc) para contador de 1 ate nc passo 1 faca escreval escreval (" Agora, infome o numero de pessoas para o caso de teste...") escreva (" -> ") leia (n) escreval escreval (" Por fim, determine um valor para o intervalo de eliminação...") escreva (" -> ") leia (m) escreval escreval ("-----------------------------------------------") para i de 1 ate n passo 1 faca contador <- i; escolhido <- m * contador; enquanto (escolhido > n) faca escolhido <- (m * (escolhido - n) - 1) / (m - 1); valorInteiro <- INT(escolhido) escolhido <- valorInteiro fimenquanto escreval (" -> ",escolhido) fimpara escreval escreval (" Ultima pessoa a ser eliminada situa-se a posicao de numero: ") escreval (" -> ",escolhido) fimpara Fimalgoritmo