#include long long fibrTail(int n, long long a = 0, long long b = 1) { if (n == 0) return a; if (n == 1) return b; return fibrTail(n - 1, b, a + b); } int main() { int n = 50; std::cout << "Fibonacci of " << n << " using tail recursion is " << fibrTail(n) << std::endl; return 0; }