python循环求和1+(1+2)+(1+2+3)…_python循环题目求1-2+3-4+5 ... 99的所有数的和汗血宝马...

博客探讨了如何使用Python高效地计算1-2+3-4+5...99的和,通过不同算法实现,包括循环判断奇偶性和利用位运算优化,最后给出了多种实现方式的结果,总结了计算此类问题的思路。
摘要由CSDN通过智能技术生成

怎么求呢??想不出

可以这样计算:

>>> 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值