In this HackerEarth 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.
#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;
}
0 Comments