计算阶乘
题目背景
相信你已经知道阶乘的定义:
n!=n×(n−1)×(n−2)×…1
现在,我们给出双阶乘的定义:
当 n 为奇数时,
n!!=n×(n - 2)×(n −4)×⋯×1
当 n 为偶数时,
n!!=n×(n−2)×(n−4)×⋯×2
特别的,0!!=1。
例如,
5!!=5×3×1=15,
6!!=6×4×2=48。
题目描述
给定整数 n,请你求出 2/n!!*n! 的值。
输入格式 本题单测试点内有多组测试数据。
输入的第一行是一个整数,表示数据组数 T。接下来依次给出每组数据的输入信息。
对每组数据,输入只有一行一个整数表示给定的n。
输出格式
对每组数据,输出一行一个整数表示.
未AC代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
long long c = 1,d = 1,e = 2;
cin>>a>>b;
if(a == 0)
{
c = 1;
}
else
{
while(a != 1)
{
c *= a;
a--;
}
}
if(b == 0)
{
d = 1;
}
else
{
if(b % 2 == 0)
{
while(b != 0)
{
d *= b;
b -= 2;
}
}
else
{
while(b != 1)
{
d *= b;
b -= 2;
}
}
}
e = e * c / d;
cout<<e;
return 0;
}