[剑指 Offer 第 2 版第 64 题] “求1+2+3+…+n”做题记录
[剑指 Offer 第 2 版第 64 题] “求1+2+3+…+n”做题记录
第 64 题:求 1 + 2 + 3 + … + n
传送门:AcWing:求 1 + 2 + 3 + … + n,牛客网 online judge 地址。
求
1+2+…+n
,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句(A?B:C)。样例:
输入:10
输出:55
Java 代码:
分析:等差数列求和的通项公式如下: s=\\cfrac{n(n+1)}{2} = \\cfrac{n^2+n}{2} 将上面的公式中的运算换成只用加法、乘方运算、位运算。
Python 代码:
class Solution(object):
def getSum(self, n):
"""
:type n: int
:rtype: int
"""
return (n ** 2 + n) >> 1
作者:liweiwei1419
来源:https://liweiwei1419.github.io/sword-for-offer/
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com