剑指offer--数列求和

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

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();


    System.out.println(Sum_Solution( n));

    }
   //数组形式 
public static int Sum_Solution(int n){

    try
    {
        int[] array = new int[n];

        return n+Sum_Solution(n-1);
    }
    catch(Exception e)
    {
        return 0;

    }
//移位运算
public static int Sum_Solution(int n){
    int sum  = (int)(Math.pow(n,2)+n);
    return sum>>1;    //   >> 按位右移运算符。左操作数按位右移右操作数指定的位数。

//采用布尔型判断值
public static int Sum_Solution(int n){

    int sum = n;
    boolean ans=(sum>0) && ((sum += Sum_Solution(n - 1))>0);
    return sum;

}
}
}

}


//C
public static int Sum_Solution(int n) {

        bool a[n][n+1];
        return sizeof(a)>>1;
    }
};

猜你喜欢

转载自blog.csdn.net/yili_world/article/details/79712859
今日推荐