【C语言-35】递归和非递归分别实现求n的阶乘 ~~~~~

目录

 

递推求阶乘:

非递归求n的阶乘:


递推求阶乘:

  1. 找递推公式;
  2. 递归和非递归分别实现求n的阶乘 
  3. 代码示例:
  4. #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    int mul(int n) {
    	if (n == 1) {
    
    		return 1;
    	}
    	return n * mul(n - 1);
    }
    int main() {
    	int n=0;
    
    	printf("请输入你要求的阶乘数字:");
    		scanf("%d", &n);
    
    		mul( n);
    
    		printf("%d的阶乘是%d\n", n, mul( n));
    
    		system("pause");
    
    		return 0;
    
    }

    运行结果:

非递归求n的阶乘:

  1.  
  2.  
  3. 代码示例:
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    int main() {
    
    	int n, k;
    
    	int fac = 1;
    
    	printf("请输入你要求的阶乘数字:");
    
    		scanf("%d", &n);
    
    		for (k = 2; k<= n; k++) {
    
    			fac *= k;
    
    		}
    		printf("%d的阶乘是%d\n", n, fac);
    
    		system("pause");
    		return 0;
    
    }

    运行结果:

啾咪~~~~

猜你喜欢

转载自blog.csdn.net/weixin_44749767/article/details/89299487