剑指offer(2)--求1+2+…+n

来源:互联网 发布:单片机编程入门教程 编辑:程序博客网 时间:2024/06/08 17:25

题目描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

这道题考察发散思维。

我首先想到的就是通过递归实现累加,利用位的与运算的短路性质来结束循环。

主要代码如下:

class Solution {public:    int Sum_Solution(int n) {        int sum=n;sum&&(sum+=Solution(n-1));return sum;    }};