双阶乘的定义:
当n是奇数时,n!为不大于n的所有奇数的乘积
如:7!!=1*3*5*7.
当n为偶数时表示不大于n的所有偶数的乘积(0除外)
如:8!!=2*4*6*8.
首先要判断n为奇数还是偶数,若为奇数,用for对i进行循环(这里的i为奇数循环即1,3,5,7.。。)循环后,令f=f*i;以此实现累乘,偶数同理。
int main(int n, long f)
{
int i;
f=1;
if(n%2!=0) //判断n为奇数
{
for(i=1;i<n+1;i=i+2) //循环奇数i
f=f*i;
}
if(n%2==0)
{
for(i=2;i<n+1;i=i+2)
f=f*i;
}
printf("%d!!=%d", n, f);
}