题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case
等关键字及条件判断语句(A?B:C)。
方法一:
公式法
private static void numSum1(int i) {
int sum=(int)(Math.pow(i,2)+i)>>1;
System.out.println(sum);
}
}
方法二:
使用递归
不能用if所以使用逻辑与进行短路;
&&前面不成立时后面不再进行判断;
private static int numSum2(int i) {
int sum=i;
boolean flag=(i>0)&&((sum+=numSum2(i-1))>0);
return sum;
}