求1+2+3+…+n

1.本题知识点

   进制转化,发散思维能力

2. 题目描述

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

3. 思路

   这题剑指上提供了四种解法,构造函数、虚函数、函数指针和模板类型求解,好麻烦的赶脚。在这里我们使用逻辑与的短路特性和递归求解此题。
   Java 版:
public class Solution {
    public static int Sum_Solution(int n) {
        int sum = n;
        boolean b = (n > 0) && ((sum += Sum_Solution(n-1)) > 0);
        return sum;
    }
}

你可能感兴趣的:(数据结构和算法)