#include <stdio.h>
int count=0;
double foo(int n)
{ count++;
int i;
double sum;
if(n == 0)
{
return 1.0;
}
else
{ sum = 0.0;
for(i = 0; i < n; i++)
{
sum += foo(i);
}
return sum;
}
}
int main(void) {
double r;
r=foo(5);
printf("Value of foo(5) is %lf\n",r
); printf("\n Function Called %d times for foo(5) ",count
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBjb3VudD0wOwoKZG91YmxlIGZvbyhpbnQgbikKeyAgIGNvdW50Kys7CiAgICBpbnQgaTsKICAgIGRvdWJsZSBzdW07CiAgICBpZihuID09IDApCiAgICB7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIDEuMDsKICAgIH0KICAgIGVsc2UKICAgIHsgICBzdW0gPSAwLjA7CiAgICAgICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIHN1bSArPSBmb28oaSk7CiAgICAgICAgfQogICAgICAgcmV0dXJuIHN1bTsKICAgIH0KCn0KCmludCBtYWluKHZvaWQpIHsKCWRvdWJsZSByOwoJcj1mb28oNSk7CglwcmludGYoIlZhbHVlIG9mIGZvbyg1KSBpcyAlbGZcbiIscik7CglwcmludGYoIlxuIEZ1bmN0aW9uIENhbGxlZCAlZCB0aW1lcyBmb3IgZm9vKDUpICIsY291bnQpOwoJCglyZXR1cm4gMDsKfQo=