自学内容网 自学内容网

C语言---计算n的阶乘

        阶乘的概念:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,且0的阶乘为1,自然数n的阶乘写作n! 

任何大于等于1 的自然数n 阶乘表示方法:

n!=1×2×3×…×(n-1)×n 或 n!=n×(n-1)!

0!=1
1! = 1
2! = 2 * 1 = 2
3! = 3 * 2 * 1 = 6

n! = n * (n-1) *… * 2 * 1

第一种:用递归的方法计算(函数调自己

//递归
int fun(int n)
{
if (n > 1)//限制条件
{
return n * fun(n - 1);
}
else//0 ,1的阶乘
return 1;
}
int main()
{
int n = 0;
scanf("%d", &n);
int a=fun(n);
printf("%d ", a);
return 0;
}

 第二种:用非递归的方法计算

int main()
{
int n = 0;
int sum = 1;
int i = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum *= i;//sum=sum*i
}
printf("%d\n", sum);
return 0;
}


原文地址:https://blog.csdn.net/2303_77041778/article/details/136008591

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!