/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include int fatIter(int n); int fatRec(int n); int executa(int (*pt)(int),int); int main() { int n; printf("n=");scanf("%d",&n); printf("!%d=%d",n,executa(fatIter,n)); printf("!%d=%d",n,executa(fatRec,n)); return 0; } int fatRec(int a){ if(a==1){ return a; } return a*fatRec(a-1); } int fatIter(int a){ int fat=1; while(a>1){ fat=fat*a; --a; } return fat; } int executa(int (*pt)(int), int a){ return pt(a); }