C语言求n的阶乘(n!)的3种方法
·
1、递归
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Fac2(int n)
{
if (n <= 1)
return 1;
else
return n * Fac2(n - 1);
return 0;
}
int main()
{
//求n 的阶乘
int n = 0;
int ret = 0;
scanf("%d", &n);
ret = Fac2(n);//递归的方式
printf("%d\n", ret);
2、循环
#include <iostream>
int Fac1(int n)
{
int i = 0;
int ret = 1;
for (i = 1; i <= n; i++)
{
ret *= i;
}
return ret;
}
int main()
{
//求n 的阶乘
int n = 0;
int ret = 0;
scanf("%d", &n);
ret = Fac1(n);//循环的方式
printf("%d\n", ret);
return 0;
}
3、直接法
求n! (C语言)
//////////////////////////////////////
#include <stdio.h>
int main()
{
int i=0, j=1, n=0;
printf("请输入一个正整数n\n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
j = j * i;
}
printf("n!=%d\n", j);
return 0;
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)