#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int load(int n)
{
int i,sum;
sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
printf("%d",sum);
return 0;
}
int had(int n)
{
if (n==0)
return 1;
else if (n==1)
return 1;
else
return n*had(n-1);
}
int main()
{
int n,i,sum,s;
double start,finish;
sum=1;
printf("请输入你想求的阶乘数:\n");
scanf("%d",&n);
printf("请输入你想要的计算方式1-递归2-非递归\n");
scanf("%d",&s);
start=clock();
if(s=1)
{
had(n);
printf("结果是%d",had(n));
}
else
{
load(n);
printf("结果是%d",load(n));
}
finish=clock();
printf("运行的时间是:%lf",finish-start);
return 0;
}
n的阶乘递归非递归的实现
最新推荐文章于 2022-04-27 10:36:37 发布