1. 程式人生 > >劍指offer:第46題計算1+2+3+……+n;

劍指offer:第46題計算1+2+3+……+n;

思路一:採用右移運算子:
import java.util.Scanner;
public class n_add {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int s = scanner.nextInt();
        System.out.println(add(s));
    }
    public static int add(int n) {
        int sum = (int) (Math.pow(n,2
) + n); return sum>>1; } }
思路二:採用短路運算子及遞迴方法
    public int Sum_Solution(int n) {
        int sum = n;
        boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0);
        return sum;
    }