用c# 求阶乘?
求1!+2!+3!......+9!+10!要求是一个是用递归方法和非递归方法写?希望高手写简单的代码啊?...
求1!+2!+3!......+9!+10!
要求是一个是用递归方法和非递归方法写?
希望高手写简单的代码啊? 展开
要求是一个是用递归方法和非递归方法写?
希望高手写简单的代码啊? 展开
2个回答
展开全部
递归方法:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(fun(6).ToString());
Console.ReadKey();
}
public static double fun(int n)
{
if (n == 1)
return 1;
else
return fun(n - 1) * n;
}
}
}
非递归方法:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(fun(6).ToString());
Console.ReadKey();
}
public static double fun(int n)
{
double S = 1;
for (int i = 0; i < n; i++)
{
S *= (i+1);
}
return S;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(fun(6).ToString());
Console.ReadKey();
}
public static double fun(int n)
{
if (n == 1)
return 1;
else
return fun(n - 1) * n;
}
}
}
非递归方法:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(fun(6).ToString());
Console.ReadKey();
}
public static double fun(int n)
{
double S = 1;
for (int i = 0; i < n; i++)
{
S *= (i+1);
}
return S;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询