Exemplo n.º 1
0
        }//mover_disco

        //ini-->fin
        //ini-->aux
        //fin-->aux
        //ini-->fin
        //aux-->ini
        //aux-->fin
        //ini-->fin
        public int iterativo(int n, Pila inicial, Pila final, Pila auxiliar)
        {
            var resultado = 0;

            // var contador = 0;

            if (n % 2 != 0)//impar
            {
                for (var i = 0; i < n; i++)
                {
                    mover_disco(inicial, final);
                    mover_disco(inicial, auxiliar);
                    mover_disco(final, auxiliar);
                    //contador++;
                } //for
            }     //if

            else  //par
            {
                for (var i = 0; i < n; i++)
                {
                    mover_disco(inicial, auxiliar);
                    mover_disco(inicial, final);
                    mover_disco(auxiliar, final);
                } //for
            }     //else

            if (final.size() == 3 && final.peek() == 1)
            {
                resultado = 1;
            }

            return(resultado);

            // return contador;
        }