Em linguagens de programação como Java, onde existem estruturas de repetição, a recursão pode ser muitas vezes substituída pela repetição, com ganhos de desempenho.
Considere a seguinte função recursiva segredo, em Java:
public static int segredo(int a) {
if (a<2) {
return 0;
} else {
return segredo(a-2)+1;
}
}
Que fragmento de código, em Java, contendo uma estrutura de repetição, é adequado para substituí-la?