博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_求1-2+3-4+......-100的值
阅读量:5097 次
发布时间:2019-06-13

本文共 1231 字,大约阅读时间需要 4 分钟。

求1-2+3-4+5……-100 = ?

       逻辑整理:

              -- 本质上可以转换一下,1+3+5+……+99 -(2+4+……+100)

      加减部分间隔都为2,先求1+3+5+……+99的值,

        再求2+4+……+100的值,减去结果就出来了

              -- 还可以如此转换 1*[(-1)**(1+1)] +2*[(-1)**(1+2)]+……+100[(-1)**(1+100)]

                     通过-1来进行+ - 符号的转变

      -- 最简单的方法是分开,1 – 2 = -1 ,3 – 4 = -1 ,

    依次下去,其实答案已经出来了 结果等于-50

  程序化:

  第一种方法

#!/usr/bin/python3__author__ = 'beimenchuixue'__blog__ = 'http://www.cnblogs.com/2bjiujiu/'def sum_go(sum_to):    sum_count_1 = 1                     # 计算    sum_1 = 0                          # 初始和值    sum_count_2 = 2    sum_2 = 0    while True:        if sum_count_1 == sum_to + 1:     # 初始值以1开始            break        sum_1 += sum_count_1            # 前者计算累计        sum_count_1 += 2                # 前者和累计        sum_2 += sum_count_2        sum_count_2 += 2    return sum_1 - sum_2                # 结果两者相减if __name__ == '__main__':    result = sum_go(sum_to=100)    print(result)

  第二种方法:

#!/usr/bin/python3__author__ = 'beimenchuixue'__blog__ = 'http://www.cnblogs.com/2bjiujiu/'def sum_go(sum_to):    sum_all = 0    for i in range(1, sum_to+1):        sum_all += i * (-1) ** (1 + i)    return sum_allif __name__ == '__main__':    result = sum_go(sum_to=100)    print(result)

 

转载于:https://www.cnblogs.com/2bjiujiu/p/6684745.html

你可能感兴趣的文章
图片圆角并居中显示解决方案
查看>>
别当鸟人——《软件人才管理的艺术》书评
查看>>
C++历史及优点
查看>>
JMeter数据库测试计划
查看>>
SVN diff
查看>>
网络协议栈14:Connect函数分解之网卡发送/接收数据流程
查看>>
allocwithzone
查看>>
编写程序,将来自文件中的行保存在一个vector<string>,然后使用一个istringstream 从vector中读取数据,每次读一个单词...
查看>>
virtual memory(4)
查看>>
TCP Data Flow and Window Management(4)
查看>>
Android Canvas方法总结
查看>>
UML简介
查看>>
测试用例设计方法之错误推测法
查看>>
Linux命令--删除软连接
查看>>
flex确认提示框
查看>>
MYSQL 如何对一个字段进行分类统计
查看>>
FLEX 绑定事件中多参数传递
查看>>
HTML | video的封面平铺方法
查看>>
PTA --- 时间复杂度 选择题
查看>>
网站数据分析图表导出为文件
查看>>