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

来源:互联网 发布:淘宝卖家号能买东西吗 编辑:程序博客网 时间:2024/06/03 19:26

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

IDEA

公式sum=(n+1)n/2=(n^2+n)/2

1.要求不能用乘除,除以2可以用左移代替;

2.不能循环,用递归

3.不能条件判断,用逻辑与短路特性

CODE

public class Solution {    public int Sum_Solution(int n) {        int sum=(int)(Math.pow(n,2)+n);        return sum>>1;    }}
public class Solution {    public int Sum_Solution(int n) {        int sum=n;        boolean a=(n>0)&&((sum+=Sum_Solution(n-1))>0);//如果n=0,则返sum=n=0;        return sum;    }}




0 0
原创粉丝点击