**题目描述
求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;
}
};