【剑指Offer】64.求1+2+3+...+n

NowCode

题目描述

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

解题思路

数学、递归

public class Solution {
     
    private static int[] res = {
     0};
    public int Sum_Solution(int n) {
     
        // 数学规律
        //return (1 + n) * n / 2;
        
        // 递归
        //return n == 0 ? 0 : n + Sum_Solution(n-1);
        
        // 递归-满足题意
        try{
     
            return res[n];
        }catch(Exception e) {
     
            return n + Sum_Solution(n-1);
        }
    }
}

你可能感兴趣的:(#,刷题)