Hm, primeiro precisamos deixar o enunciado mais preciso: i) Eu preciso apenas DESCOBRIR a senha, ou preciso INSERI-LA no dispositivo? ii) O dispositivo avisa quando a gente acerta a senha totalmente (acho que o usual seria "sim")? Ou apenas diz "não"/"quase"? iii) "Coincidente" significa digito correto na posição correta, ou apenas "aparece em algum lugar da senha"? iv) A priori, a senha pode ter dígitos repetidos (acho que o usual seria "sim")? v) A senha seria um CONJUNTO de 3 dígitos, ou a ordem importa (acho que o usual seria "ordem importa")?
Para uma cota inferior (usualmente bem ruinzinha), tem uma ideia que funciona em vários problemas deste tipo: qualquer algoritmo vai pegar uma sequência de respostas do dispositivo (digamos, Q="quase", N="nao" e A="acertou!") e traduzir isso numa possivel senha. Em outras palavras, por mais complexo que seja o algoritmo, no final das contas ele "gera" uma grande tabela, algo assim: Se as respostas forem QQNQNQA, a senha vai ser 127; Se as respostas forem NNQQNA, a senha vai ser 889; ... e assim por diante. Por isso, se o número de sequências de letras for MENOR que o número possivel de senhas, não tem como o algoritmo funcionar GARANTIDAMENTE -- haverá senhas fora da tabela (ou sequências que levam a mais de uma senha, evidenciando a falha do algoritmo nesses casos)! Para ser um pouco mais concreto, vou supor 10^3 possíveis senhas (dígitos ordenados, com repetição). Vou provar que, neste caso, um algoritmo com 9 tentativas NUNCA descobre a senha -- tem que ser pelo menos 10. Duas outras observações interessantes: a) Obviamente, se em algum momento seu algoritmo chega em A, PARE, você achou a senha correta e **nenhuma das tentativas seguintes te providencia nenhuma informação adicional**. Se você inventar um algoritmo doido que continua tentando coisas depois do A, eu posso fazê-lo ficar MAIS EFICIENTE retirando os passos adicionais; ou seja, fazendo todas as sequências com terminarem nesse A; b) Por outro lado, vou supor que você TEM QUE INSERIR a senha correta; ou seja todas as sequências da sua "tabela" terminam em "A". Assim, o número MÁXIMO de sequências de letras na sua tabela seria: Comprimento 1: 1 sequência (a saber, "A") Comprimento 2: 2 sequências (NA e QA) Comprimento 3: 4 sequências (NNA, NQA, QNA, QQA) ... Comprimento 9: 2^8=256 sequências Total: 511 sequências ("máximo" pois, dependendo do algoritmo, talvez algumas nunca ocorram). Como são 1000 possíveis senhas, é impossível seu algoritmo distingui-las todas! On Mon, Dec 13, 2021 at 10:00 AM Jeferson Almir <jefersonram...@gmail.com> wrote: > Amigos peço ajuda nessa questão. > > Tem uma senha de 3 digitos > (Qualquer digito de 0 a 9) > E nos temos um dispositivo > Que compara a senha > Com um número que escolhemos > E retorna não se tem todos os digitos diferentes da senha > E retorna quase se tem pelo menos 1 digito coincidente com a senha > Qual é o menor numero de tentativas que precisamos usar esse dispositivo > tal que podemos descobrir a senha com certeza, independente de qual ela > seja? > > -- > Esta mensagem foi verificada pelo sistema de antivírus e > acredita-se estar livre de perigo. -- Esta mensagem foi verificada pelo sistema de antiv�rus e acredita-se estar livre de perigo.