计算1+2+3+...+n;不许用乘除法和if、 while、switch、for等关键字计算

来源:互联网 发布:幼儿园大班美工活动 编辑:程序博客网 时间:2024/05/16 10:52

今天在群里看到有人发了一个问题,问题出自(一家公司的笔试面试题),当时第一眼看到时还感觉有点意思,随后经过分析琢磨想到了一种解法:
三元操作符也称条件操作符,它显得比较特别,因为它有三个操作数,但它确实不属于操作符的一种,因为它最终也会生成一个值。
boolean-exp?value0 :value1;

如果boolean-exp为true就计算value0否则计算value1

如果你打算频繁使用,还是多考虑下,它容易产生可读性极差的代码

好了,不说了,直接上代码了:

public class TestSum {    //不使用乘除法和if、 while、switch、for等关键字计算    private static int sum(int i) {        return i==1? i:i+sum(i-1);    }    //使用if计算    private static int num(int n){        if(n==1){            return n;        }else{            return n+num(n-1);        }    }    public static void main(String[] args){        int n1=TestSum.sum(100);        System.out.println(n1);        int n2=TestSum.num(100);        System.out.println(n2);    }}
sum结果:5050num结果:5050
0 0
原创粉丝点击