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

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

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


链接:https://www.nowcoder.com/questionTerminal/7a0da8fc483247ff8800059e12d7caf1
来源:牛客网
解题思路:
1.需利用逻辑与的短路特性实现递归终止。 2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0;
3.当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)。
    public int Sum_Solution(int n) {
        int sum = n;
        boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0);
        return sum;
    }
目录
相关文章
【汉诺塔】经典递归问题(Java实现)图文并茂讲解
【汉诺塔】经典递归问题(Java实现)图文并茂讲解
|
存储 关系型数据库 MySQL
【MYSQL】金额(金钱)相关的数据存储类型
int 对于游戏币等代币,一般存储为int类型是可行的。 问题在于越界,int类型长度为11位。 在存储人民币相关的金额的时候,则只能存储到9长度的人民币,也就是说,最大只能存储999999999,不到10亿的数值,如果业务增长很快的话,就会给自己留下隐患。
5072 0
|
网络协议 关系型数据库 MySQL
连接远程mysql数据库失败常见原因及解决办法
1. 没有开启 MySQL 的远程登陆帐号。 1.找到mysql数据库的user表。在user表中新建一条数据,设置User(username)和Host(开放访问MySQL的IP:例如123.118.17.201)以及登录密码。这样就设置了允许访问的用户名和IP地址(若想所有IP都可以访问,则可将Host设置为‘%’,但是这样很危险,不建议)。
8986 0
连接远程mysql数据库失败常见原因及解决办法
|
算法 前端开发 Java
探讨Java中递归构建树形结构的算法
探讨Java中递归构建树形结构的算法
313 1
|
Java
java中递归实例
java中递归实例
130 0
|
Java
蓝桥杯Java组暴力递归搜图
蓝桥杯Java组暴力递归搜图
92 4
java实现斐波那契数列(递归、迭代、流)
java实现斐波那契数列(递归、迭代、流)
244 1
|
Java
Java递归:深入理解与应用
Java递归:深入理解与应用
154 1
|
Java 大数据 程序员
老程序员分享:java递归
老程序员分享:java递归
70 0
汉诺塔(java)
汉诺塔(java)

热门文章

最新文章