微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

剑指:求1+2+…+n

题目描述

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

样例

输入:10

输出:55

解法

前面的和+后一个即为所求的总和

 

有 if 的递归方法

public static int Sum_Solution(int n) {
    int res = n;
            
    if(n>0){
        res += Sum_Solution(n-1);
    }
    return res;
}

 

但题意说不能用 if ,所以:

public static int Sum_Solution(int n) {
     int res = n;
     boolean t = (res>0) && ((res += Sum_Solution(n-1))>0);
     return res;
}

 

java中&和&&的区别

&和&&都是逻辑运算符,用于判断两边同时为真则为真,否则为假。

但是&&当第一个条件为假之后,后面的条件就不执行了,它具有短路功能

而& 还是要继续执行,直到整个条件语句执行完成为止。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐