Abordagem iterativa para função ackerman

0 respostas
java
M

Estou tentando realizar uma abordagem iterativa para a função de ackermann,todavia o código está gerando algumas respostas erradas, alguém por favor poderia me ajudar?

public static BigInteger ackermann(BigInteger m, BigInteger n){
    Stack<BigInteger> stack = new Stack<BigInteger>();
    stack.add(m);
    while(!stack.isEmpty()){
       m=stack.pop();
        if(m.equals(BigInteger.ZERO)||n.equals(BigInteger.ZERO))
            n=n.add(m.add(BigInteger.ONE));
 else{
            stack.add(m.subtract(BigInteger.ONE));
            stack.add(m.add(BigInteger.ONE));
            n.subtract(BigInteger.ONE);
        }
    }
    return n;
}
Criado 26 de agosto de 2016
Respostas 0
Participantes 1