求教高手解释一下这个算法

来源:百度知道 编辑:UC知道 时间:2024/06/09 10:37:32
75.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
答:
int Num = this.TextBox1.Text.ToString() ;
int Sum = 0 ;
for (int i = 0 ; i < Num + 1 ; i++)
{
if((i%2) == 1)
{
Sum += i ;
}
else
{
Sum = Sum - I ;
}
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine() ;
算法模2起到啥作用呢

//算法模2就是求2的余数,即是求单数。
//其实1-2+3-4+……+m,就是1+(-2)+3+(-4)……+m
//可以看出每当第x个数和第x+1个数相加时,只要判断x是不是单数就可知道第x个数是不是负数。
System.Console.WriteLine("Enter a number:");
int Num = System.Convert.ToInt32(System.Console.ReadLine());
int Sum = 0;
for (int i = 1; i <= Num; i++)
{
if ((i % 2) == 1)
{
Sum += i;
}
else
{
Sum -= i;
}
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadKey();

我汗。。两项组合,第一项跟第二项,3和4……

这样的话最后一项(或两项)是什么就与m奇偶性有关。

。。。。别的不说了,看这个vc的标准像是大学生?哎

算法模2就是判断是基数还是偶数。
如果是基数就加。 (i%2) == 1 表示是基数。
如果是偶数就减。 (i%2) != 1 (也就是上面的 else)表示是偶数。

1-2+3-4+……+m
偶数就-,奇数就+的意思

算法模2起到啥作用呢
--------
奇数偶数的判断作用

根据表达式,你可以看明白,这个算式是
奇数项是正的, 偶数项是负的

正的,就是 + 正的

负的,就是 - 正的