c语言求n的双阶乘

双阶乘的定义:

当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);
}

上一篇:[BZOJ2064]分裂 状压dp


下一篇:利用C语言输出5*5的矩阵