老师布置给Insus.NET第四道题目。一开始时,是使用下面的方法解答:
protected
void Page_Load(
object sender, EventArgs e)
{
Response.Write( string.Format( "数字 1~10总和等于{0}。 ", Sum( 1, 10).ToString()));
}
private int Sum( int min, int max)
{
int s = 0;
for ( int i = min; i <= max; i++)
{
s += i;
}
return s;
}
{
Response.Write( string.Format( "数字 1~10总和等于{0}。 ", Sum( 1, 10).ToString()));
}
private int Sum( int min, int max)
{
int s = 0;
for ( int i = min; i <= max; i++)
{
s += i;
}
return s;
}
执行结果:
上面的方法,Insus.NET觉得不理想,故产生如下另外一个方法,重构了上面的Sum的函数:
private
int Sum(
int min,
int max)
{
return (max + 1) * max / 2;
}
{
return (max + 1) * max / 2;
}
以下内容添加于2012-07-26 13:20,老师批改如下:
private
int Sum(
int min,
int max)
{
// return (max + 1) * max / 2;
return (max + min) * (max-min+ 1) / 2; // 老师改正成这样子。
}
{
// return (max + 1) * max / 2;
return (max + min) * (max-min+ 1) / 2; // 老师改正成这样子。
}