奇数连乘
时间: 1ms 内存:128M
描述:
输入n,定义函数,输出1×3×...×n的结果。
输入:
一个整数n
输出:
n以内所有奇数连乘的积
示例输入:
8
示例输出:
105
提示:
参考答案(内存最优[1092]):
#include <stdio.h>
long f(int);
int main( )
{
int n;
long y;
scanf("%d", &n);
if(n%2) //若奇数
y=f(n);
else
y=f(n-1);
printf("%ld\n", y);
return 0;
}
long f(int n)
{
if(n==1)
return 1;
return n*f(n-2);
}
参考答案(时间最优[0]):
#include <stdio.h>
long f(int);
int main( )
{
int n;
long y;
scanf("%d", &n);
if(n%2) //若奇数
y=f(n);
else
y=f(n-1);
printf("%ld\n", y);
return 0;
}
long f(int n)
{
int i,s=1;
for(i=1;i<=n;i++)
{
if(i%2!=0)
s=s*i;
}
return s;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。