一、前言
本系列文章为《剑指Offer》刷题笔记。
刷题平台:牛客网
书籍下载:共享资源
二、题目
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
1、思路
没什么好说的,这是一道超级无敌送分题,使用递归即可。
2、代码
C++:
1 2 3 4 5 6 7 8 9 | class Solution { public: int Sum_Solution(int n) { int ans = n; // &&就是逻辑与,逻辑与有个短路特点,前面为假,后面不计算。即递归终止条件 ans && (ans += Sum_Solution(n - 1)); return ans; } }; |
Python:
1 2 3 4 5 6 7 8 | # -*- coding:utf-8 -*- class Solution: def Sum_Solution(self, n): # write code here ans = n if ans: ans += self.Sum_Solution(n-1) return ans |
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
2019年5月26日 上午11:43 沙发
use if in python solution hhhh 交
2021年12月15日 下午5:08 板凳
用这个 n(n+1)/2