《劍指offer》-求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case

/*
 * 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case
 * 等關鍵字及條件判斷語句(A?B:C)。
 * 思路:等差數列求和公式:n*(n+1)/2=(n^2+n)/2,由於不能用除法,因此可以右移一位表示除以2
 */
public class Sum_Solution {
	public int sum_Solution(int n) {
        return (int)(Math.pow(n, 2) + n) >> 1;
    }
	
	public static void main(String[] args) {
		System.out.println(new Sum_Solution().sum_Solution(100));
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章