日期:2014-05-19  浏览次数:20777 次

两个textbox,一个输入数字,一个输出阶乘的结果,button1 click事件怎么写
两个textbox,一个输入数字,一个输出阶乘的结果,button1   click事件怎么写


------解决方案--------------------


doule j = Double.parse(textbox1.text); //要求的数
long sum = 0;
for(int i = 1; i <=j; i++)
{
sum *= i;
}
textBox2.text = sum.tostring();
------解决方案--------------------
有直接的求结果幂函数方法
doule no = Double.parse(textbox1.text);
long sum = 0;
sum = Math.Pow(no,no);
TextBox2.Text = sum.ToString();
比循环的效率会更高!
------解决方案--------------------
递归实现;
private int factorial(int num)
{
if (num < 0)
{
throw new Exception( "不能为小于0的整数! ");
}
if (num == 0)
{
return 1;
}
return num*factorial(num - 1);
}

int i = this.factorial(3);

要注意的是, int类型是有符号 32 位整数,它的取值范围是:-2,147,483,648 到 2,147,483,647; num 太大的话 会发生溢出。