C#求阶乘的和

题目如下:用C#编写程序,求1!+2!+3!+……+n!的值

第1个回答  2013-08-05
using System;
using System.Collections.Generic;
using System.Text;

namespace jiechengDemo
{
class Program
{
public static long jiecheng(int n)
{
if (n == 0)
return 1;
else
return n * jiecheng(n - 1);
}
static void Main(string[] args)
{
Console.Write("enter n:");
int n= int.Parse (Console.ReadLine());
long sum = 0;

for (int i = 1; i <= n; i++)
{
sum += jiecheng(i);
}
Console.WriteLine(sum.ToString());

Console.Read();
}
}
}本回答被网友采纳
第2个回答  2013-08-05
不要用递归。。拜托,效率多低
long jiecheng(int n){
long result = 1;
for(int i = 1;i <= n; i++){
result *= i;
}
return result;
}
第3个回答  2013-08-05
int JieChengDeHe( int n )
{
  if( n <= 0 )
  {
    return 0;
  }
  else if( n == 1 )
  {
    return 1;//1的阶乘还是1.
  }
  return JieChengDeHe( n - 1 ) + JieCheng( n );
}
int JieCheng( int n )
{
  if( n < 0 )
  {
    return 0;
  }
  else if( n == 0 )
  {
    return 1;
  }
  return JieCheng( n - 1 ) * n;
}
相似回答