那位师傅能帮小弟一个忙?谢谢!
用C#编写一个方法,计算:1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 + 9 - 10 + 11 - ……N,能详细点更好! --------------------编程问答-------------------- 1+(3-2)+(5-4)+ ............ --------------------编程问答----------------------------------------编程问答-------------------- 英雄。。。
private int GetResult(int n)
{
int result = 0;
for(int i=1;i<=n;i++)
{
if(i%2 == 0 && i>1)
result -= i;
else
reuslt += i;
}
return result;
}
这个好象很简单的啊。。
(1 - 2) + (3 - 4) + (5 - 6) + (7 - 8) + (9 - 10)不就是一个递归吗?
懒得写算法了。。 --------------------编程问答-------------------- 还有一个比较重要的。。
根本不需要算法。
其中每一项结果都是 - 1,那么结果就是:
1、N是偶数 = N/2 * (-1);
2、结果是奇数 = (N-1)/2 * (-1) + N
。。。。。。。。。。。。。。。。。。。。。。。。。 --------------------编程问答-------------------- 第一种,将两项看做一项
(1 - 2) + (3 - 4) + (5 - 6) + (7 - 8) + (9 - 10)
算法如下:
public int GetSum(int n)
{
int sum = 0;
int mod = n / 2;
sum = mod * (-1);
if (n % 2 != 0)
sum += n;
return sum;
}
第二种,是偶数的话乘以(-1)
算法如下:
--------------------编程问答-------------------- 以上是最简单的两种算法 --------------------编程问答-------------------- public int GetValue(int n)
public int GetSum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
if (i % 2 != 0)
sum += i;
else
sum += i * (-1);
}
return sum;
}
{
int sum = 0;
int mod = n / 2;
if(mod(n/2)>0 && n>1)
{
return -1*n/2
}
else
{
return -1*n/2+n;
}
}
--------------------编程问答--------------------
这样就好了
补充:.NET技术 , C#