递归实现阶乘
描述
输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。程序中的整数请定义成long long型。请定义递归函数 long long fact(int n):计算阶乘。
输入输出示例
输入 输出
示例 1 5 120
1. #include<stdio.h>
2. long long fact(int n)//自定义函数
3. {
4. if(n==1) return 1;//需要有最小值
5. else return n*fact(n-1);//递归思想的重点,因为最后n-1=1,把1到n的值全部相乘。
6. }
7. int main()
8. {
9. int n;
10.scanf("%d",&n);
11.printf("%d",fact(n));
12.return 0;}
运用自定义递归函数,来简便繁琐的代码。具体思想运用应是对有规律可循的函数,来找到该函数的最小值,通过关系量来增大,同理,也可以做到2的n次方,把n换为2即可。