递归函数求n的阶乘
时间: 1ms 内存:128M
描述:
输入一个正整数n,利用递归函数求n的阶乘。
递归函数声明如下:
int fac(int n); //求n!的递归函数声明
输入:
一个正整数n
输出:
n的阶乘值
示例输入:
5
示例输出:
120
提示:
参考答案(内存最优[920]):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int fac(int n);
int n,y;
scanf("%d",&n);
y=fac(n);
printf("%d",y);
return 0;
}
int fac(int n)
{
int f;
if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return (f);
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int fac(int x); //求x的阶乘的递归函数声明
int main()
{
int n;
cin>>n;
if(n>=1)
cout<<fac(n)<<endl;
else
cout<<"error"<<endl;
return 0;
}
int fac(int x) //求x的阶乘的递归函数定义
{
if(x==1)
return 1;
else
return x*fac(x-1);
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。