老师布置给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; }
执行结果:
上面的方法,Insus.NET觉得不理想,故产生如下另外一个方法,重构了上面的Sum的函数:
private int Sum( int min, int max) { 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; // 老师改正成这样子。 }