当前位置:编程学习 > C#/ASP.NET >>

急急,大侠这个怎么做啊

阶乘,指从1乘以2乘以3乘以4一直乘到所要求的数。
例如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。 例如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘。例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。
任何大于1的自然数n阶乘表示方法:
n!=1×2×3×……×n  或  n!=n×(n-1)! 注:0!=1
请编写一个函数,能够计算10以内数的阶乘,尽量采用递归算法。(10!=3628800)。 --------------------编程问答-------------------- 阶乘没必要递归,

如果用递归也可以,这样:

int M(int n)
{
   if (n==1)
   {
      return 1;
   }

   if (n<1)
   {
      return 0;
   }

   return n*M(n-1);
} --------------------编程问答-------------------- 其实循环效率更高:

int M(int n)
{
   int i;
   int nResult=1;
   for(i=1;i<=n;i++)
   {
      nResult*=i;
   }
   return nResult;
} --------------------编程问答-------------------- --------------------编程问答-------------------- int de(int n)
{
  if (n==0)
  {
  return 1;
  }
  else
  return n*de(n-1);
} --------------------编程问答--------------------
引用 1 楼  的回复:
阶乘没必要递归,

如果用递归也可以,这样:

int M(int n)
{
  if (n==1)
  {
  return 1;
  }

  if (n<1)
  {
  return 0;
  }

  return n*M(n-1);
}

学习。 --------------------编程问答-------------------- 递归呀 --------------------编程问答-------------------- 如果需要多次可以用递归,并且记录。
如果计算次数少用循环方便
这样看实际的需求来取舍 --------------------编程问答-------------------- 建议学一下C,学C#的都比类库宠坏了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,