当前位置: 代码迷 >> 综合 >> 剑指offer第四十七题求1+2+3+...+n
  详细解决方案

剑指offer第四十七题求1+2+3+...+n

热度:10   发布时间:2024-02-07 20:24:42.0

题目描述

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

方法:主要是一个短路求值

class Solution {public int Sum_Solution(int n) {
//        return (1+n)*n/2;方法一:这个正确//        int sum=n;//方法二:短路求值
//        boolean flag = (sum>0)&&((sum = sum + Sum_Solution(n-1))>0);//终止条件是sum>0,n=1时直接返回1
//        return sum;int m = (int)Math.pow(n, 2)+n;//方法三:这种用到乘法了,但是也是一个很好的思路,通过>>1表示除以2return m>>1;}
}

 

  相关解决方案