奇数连乘

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。