Matemática, perguntado por fxlux001, 6 meses atrás

Elabore uma sequência que mova três discos de uma Torre de Hanói, que consiste em três hastes (a-b-c), uma das quais serve de suporte para três discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste

Soluções para a tarefa

Respondido por barbosaeric52
1

Resposta:

informações:

3 discos

3 hastes

ações:

movimentar um disco de cada vez de forma que fiquem ordenado

resultado:

discos transferidos e ordenados para outra haste

Algoritmo:

início

mover o disco 1 para a haste b

mover o disco 2 para a haste c

mover o disco 1 para a haste c

mover o disco 3 para a haste b

mover o disco 1 para a haste a

mover o disco 2 para a haste b

mover o disco 1 para a haste b

fim

Respondido por couto932
0

Padrão de resposta esperado

O algoritmo poderia ser descrito da seguinte forma:

Em um script separado, salve-o com o nome de torre.m

function torre(n, init, temp, fin)

 if n == 1

    disp([init ' to ' fin])

 else

    torre(n-1,init, fin,temp);

    torre(1,init, temp, fin);

    torre(n-1,temp, init,fin);

 end

Em outro arquivo (script), você pode entrar com o seguinte comando, chamando a função:

    clc, clear;

    num = input('Torre de Hanoi: Informe o numero de discos:\n');

    fprintf('\n\n');

    torre(num,'A','B','C');

    fprintf('\n\n');

Esse comando retorna os seguintes valores de resultados:

                A to C

                A to B

                C to B

                A to C

                B to A

                B to C

                A to C

Perguntas interessantes