In this Leetcode Recursive Function problem solution Implement the recursive function given by the following rules and print the last 3 digits:

F(x, y) = {
y + 1 when x = 0,
F(x - 1, 1) when x > 0 and y = 0,
F(x - 1, F(x, y - 1)) when x > 0 and y > 0
}


HackerEarth Recursive Function problem solution


HackerEarth Recursive Function problem solution.

#include <iostream>
#include<bits/stdc++.h>

#include<cstdio>
#include<sstream>

using namespace std;

int f(long long int x, long long int y) {

    x%=1000;
    y%=1000;
    if(x==0) return y+1;
    else if(x>0 && y==0) return f(x-1,1);
    else if(x>0 && y>0) return f(x-1,f(x,y-1));

}

int result(long long int x, long long int y)

{

long long int ans = f(x,y);
return ans % 1000;
}
int main() {
    int x,y;

cin>>x>>y;

    int z = result(x,y);
    cout<<z;
    return 0;   

}