Eu tenho o seguinte problema, e não consegui decifra-lo, gostaria de saber como solucionar o mesmo em C/C++
Seja uma linguagem hipotética na qual não existem operadores para adição, e nem subtração, porem existe uma função para incrementar um valor ( inc(4) retorna 5).
Defina uma função recursiva que ao receber dois numeros naturais x e y, retorne a soma dos elementos. Em seguida, mostre como a recursão de cauda pode ser eliminada da função usando uma implementação iterativa (com comando de repetição)
Observando: se um dos valores numa soma é zero, o resultado so pode ser o outro valor. Por outro lado, se ambos forem diferentes de zero podemos ir tirando unidades do primeiro e ir passando para o segundo; eventualmente o primeiro torna-se zero e o segundo conterá o resultado.
Fico no aguardo, obrigado
Seja uma linguagem hipotética na qual não existem operadores para adição, e nem subtração, porem existe uma função para incrementar um valor ( inc(4) retorna 5).
Defina uma função recursiva que ao receber dois numeros naturais x e y, retorne a soma dos elementos. Em seguida, mostre como a recursão de cauda pode ser eliminada da função usando uma implementação iterativa (com comando de repetição)
Observando: se um dos valores numa soma é zero, o resultado so pode ser o outro valor. Por outro lado, se ambos forem diferentes de zero podemos ir tirando unidades do primeiro e ir passando para o segundo; eventualmente o primeiro torna-se zero e o segundo conterá o resultado.
Fico no aguardo, obrigado