怎么求呢??想不出
可以这样计算:
>>> num = 0
>>> for i in range(100):
... if i % 2 == 0:
... num = num - i
... else:
... num = num + i
...
>>> num
50
另外,由于是前1个数字减去后1个数字,因此2个数值之间的和为-1,而99/2=49.5,因此,共有49对,其结果为-49,再与99相加可以得到99-49=50
粗略的看了一下,前面几个答案都使用了
for
循环,个人觉得能少用就少用吧,尽量把时间变成O1。
假设参数为n,就是最大的那个数,并且都大于0,这里为99
n
result
1
1
2
-1
3
1
4
-2
5
3
6
-3
当n为奇数时,结果为正,result = ((n – 1) / 2) * (-1) + n
当n为偶数时,结果为负,也就是result = (n / 2) * (-1)
所以,答案就出来了。。
def compute(n):
if n % 2 is 1:
return