利用静态方法,计算1!+2!+…+N!的值,怎么进行优化程序
利用静态方法,计算1!+2!+……+N!的值,如何进行优化程序?
一、题目:利用静态方法,从优化程序性能的角度来计算1!+2!+……+N!的值。
二、我的努力
namespace 书本练习题
{
public class Numbercount
{
public static int sumhe;
public static int sum(int x)
{
int m=0,n=1;
for(int i=1;i<=x;i++)
{
for(int j=1;j<=i;j++)
{
n=n*j;
}
m=m+n;
n = 1;
}
return m;
}
}
class Program
{
static void Main(string[] args)
{
Console .WriteLine ("请输入一个大于1的正整数:");
int number = Convert .ToInt32 (Console .ReadLine ());
Numbercount .sumhe = Numbercount .sum (number );
Console.WriteLine ("{0}!的值为:{1}",number ,Numbercount .sumhe);
Console.ReadKey();
}
}
}
三、我的困惑
第一,我是初学C#小菜,不懂怎样做是优化?
第二,在此请教论坛里的高手、大侠,该题如何优化?请高手大侠不吝赐教,最好是清晰的按步解析(主要原因是本人是小菜)。
第三,优化程序,在学习过程中经常遇到,我不知怎么回事?希望大侠们能举个例子说明。
小虾在此有礼了!谢谢!
------解决方案--------------------
起码sum函数能这么写,sumhe似乎没啥用
------解决方案--------------------
刚睡醒。。没看清题目。。不好意思啊
1楼的方法,能用到上一次的阶乘结果,最好了
一、题目:利用静态方法,从优化程序性能的角度来计算1!+2!+……+N!的值。
二、我的努力
namespace 书本练习题
{
public class Numbercount
{
public static int sumhe;
public static int sum(int x)
{
int m=0,n=1;
for(int i=1;i<=x;i++)
{
for(int j=1;j<=i;j++)
{
n=n*j;
}
m=m+n;
n = 1;
}
return m;
}
}
class Program
{
static void Main(string[] args)
{
Console .WriteLine ("请输入一个大于1的正整数:");
int number = Convert .ToInt32 (Console .ReadLine ());
Numbercount .sumhe = Numbercount .sum (number );
Console.WriteLine ("{0}!的值为:{1}",number ,Numbercount .sumhe);
Console.ReadKey();
}
}
}
三、我的困惑
第一,我是初学C#小菜,不懂怎样做是优化?
第二,在此请教论坛里的高手、大侠,该题如何优化?请高手大侠不吝赐教,最好是清晰的按步解析(主要原因是本人是小菜)。
第三,优化程序,在学习过程中经常遇到,我不知怎么回事?希望大侠们能举个例子说明。
小虾在此有礼了!谢谢!
------解决方案--------------------
public static int sum(int x)
{
int m = 0, n = 1;
for (int i = 1; i <= x; i++)
{
n *= i;
m += n;
}
return m;
}
起码sum函数能这么写,sumhe似乎没啥用
------解决方案--------------------
刚睡醒。。没看清题目。。不好意思啊
1楼的方法,能用到上一次的阶乘结果,最好了