我这两用两种方法实现阶乘
1:输出阶乘过程和结果
此处我创建的是控制台应用程序实现:
public static string JieCheng(int number)
{
if (number == 0)
{
return "";
}
double result = 1;
StringBuilder s = new StringBuilder();
for (int i = number; i >= 1; i--)
{
s.Append( ""+i+" * ");
result = result * i;
}
s.Remove(s.Length - 2,2);
s.Append("= "+result+"");
return s.ToString();
}
static void Main(string[] args)
{
Console.WriteLine("请输入一个数");
int number = Convert.ToInt32(Console.ReadLine());
string result = JieCheng(number);
Console.WriteLine(number.ToString() + "的阶乘结果是:" + result);
Console.ReadKey();
}
输出效果图为:
2:下边用递归算法实现阶乘
public static int JieCheng(int num)
{
if (num == 0)
{
return 0;
}
if (num == 1)
{
return 1;
}
else
{
return num * JieCheng(num - 1);
}
}
static void Main(string[] args)
{
Console.WriteLine("请输入一个数");
int number = Convert.ToInt32(Console.ReadLine());
int result = JieCheng(number);
Console.WriteLine(number.ToString() + "的阶乘结果是:" + result);
Console.ReadKey();
}
输出效果图为: