/* Find factorial of a number using recursion */
#include <stdio.h>
int fact(int);
int main()
{
int num;
int result;
result = fact(num);
printf("%d! = %d\n", num
, result
); }
int fact(int num)
{
int result;
if (num == 0)
return 1;
result = num * fact(num - 1);
return result;
}
LyogRmluZCBmYWN0b3JpYWwgb2YgYSBudW1iZXIgdXNpbmcgcmVjdXJzaW9uICovCgojaW5jbHVkZSA8c3RkaW8uaD4KCmludCBmYWN0KGludCk7CgoKaW50IG1haW4oKQp7CglpbnQgbnVtOwoJaW50IHJlc3VsdDsKCQoJcHJpbnRmKCJFbnRlciBhIE51bWJlcjogIik7CglzY2FuZigiJWQiLCAmbnVtKTsKCQoJcmVzdWx0ID0gZmFjdChudW0pOwoJcHJpbnRmKCIlZCEgPSAlZFxuIiwgbnVtLCByZXN1bHQpOwp9CgppbnQgZmFjdChpbnQgbnVtKQp7CglpbnQgcmVzdWx0OwoJCglpZiAobnVtID09IDApCgkJcmV0dXJuIDE7CgkKCXJlc3VsdCA9IG51bSAqIGZhY3QobnVtIC0gMSk7CglyZXR1cm4gcmVzdWx0Owp9