47求1+2+3+...+n

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了47求1+2+3+...+n相关的知识,希望对你有一定的参考价值。

题目描述

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


用递归

1 public class Solution {
2     public int Sum_Solution(int n) {
3         int sum = n;
4         if(n==0) return 0 ;
5         sum+=Sum_Solution(n-1);
6         return sum;
7     }
8 }

 

但是用到了if


如何不用if 就终止递归呢? 可以用逻辑与的短路特性,

        boolean res = n>0 && (sum+=Sum_Solution(n-1))>0;

当n==0的时候,&&后面的不会执行

以上是关于47求1+2+3+...+n的主要内容,如果未能解决你的问题,请参考以下文章

47求1+2+3+...+n

[剑指offer] 47. 求1+2+3+...+n

用C++编程求1+1/2!+1/3!+.....+1/12!,为啥无结果呢?求改正。

[剑指Offer] 47.求1+2+3+...+n

C语言编程序,求e的近似值e≈1+1/2!+1/3!+…+1/n!

编写函数求出以下分数序列的前n项之和。和值作为函数值返回。 2/1,3/2,5/3,8/5,13/8,21/13,……