1. 程式人生 > >求1+2+3+...+n (不能使用條件語句和乘除法)(Java 劍指offer)

求1+2+3+...+n (不能使用條件語句和乘除法)(Java 劍指offer)

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

public class number {

	//遞迴
	//利用邏輯與的短路特性實現遞迴終止
	//當n==0時,(n>0)&&((sum+=Sum_Solution(n-1))>0)只執行前面的判斷,為false,然後直接返回0
	//當n>0時,執行sum+=Sum_Solution(n-1),實現遞迴計算Sum_Solution(n)

	public int Sum_Solution1(int n){
		int res = n;
		boolean flag = (n>0)&&((res+=Sum_Solution(n-1))>0);
		return res;
	}
    
        //庫函式
	public int Sum_Solution2(int n){
		
		int sum = (int)(Math.pow(n, 2)+n);
		return sum>>1;
	}

}

相關推薦

1+2+3+...+n (不能使用條件語句乘除)Java offer

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 public class number { //遞迴 //利用邏輯與的短路特性實現遞迴終止 //當n==0時,(n>

【類物件】1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

題目描述: 求1+2+3+...+n,要求不能使用乘除法(數學公式)、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C). 分析:這道題雖然常用的方式都給禁掉了,但是可以使用我們c++學過的類和物件,通過使用類和靜態來完成。常規情況下,從1+到n,

46、1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

closed else while spl 判斷語句 stat 條件 執行 ret 思路:循環或者遞歸都有個結束條件和執行條件。用&&短路與代替。 //短路與&&;就是只有前一個條件滿足才可以去判斷第二個條件。 //遞歸的出口

offer-1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

題目如下: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C) 本題考的知識點就兩點 && 運算子 false && true =>

題目描述 1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

//求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字 //及條件判斷語句(A?B:C)。 public class Solution { public int Sum_Solution(int n) { //if

offer---471+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 public class Solution { public int Sum_Solution(int n) { // if(

C++實現:1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:C

程式碼: class Solution { public: class Sum { public: Sum() { s_count++; s_sum += s_count;

1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:CJava實現

前幾天跟同學交流聽說一個比較有意思的oj題目,具體描述如下: 題目描述: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 輸入: 輸入可能包含多個測試樣例。 對於每個測試案例,輸

1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句A?B:Coffer

今天在牛客網上遇到這樣一道題目,求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C) 一般大家在看到這種題目的時候是完全沒有頭緒的,但是我們可以從多方面進行思考,首先我們應該想

用遞迴普通for迴圈分別 1+2+3+...+n

最近在複習遞迴演算法時,  腦海突然想能否用剛剛學到的遞迴方法去解高斯問題呢? 然後自己動手用常規for迴圈和遞迴來程式設計,  看看二者有何不同,  最後的程式碼如下: 雖然有點簡單, 但是還是值得

1133: 【C語言訓練】1+2!+3!+...+N!的

題目描述 求1+2!+3!+...+N!的和 輸入 正整數N(N〈=20) 輸出 1+2!+3!+...+N!的和 (結果為整數形式) 樣例輸入 3 樣例輸出 9 提示 這道題目,看提交和通過率

1+2+3+....+n

函數指針 typedef c語言 ace pri pre sin 變量 code 求1+2+3+...+n,要求不能使用乘除法,for,while,if,else,switch,case等關鍵字及條件判斷語句(a?b:c)。 1、構造函數 在類中定義靜態成員變量N和sum,

47、1+2+3+...+n

n) col 除法 clas 條件判斷 als pub turn 返回 一、題目 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 二、解法 1 public class So

471+2+3+...+n

描述 blog lean 判斷 public 如何 bool gpo post 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 用遞歸 1 public clas

1+2+3+...+n的非常規方法

指針 pub pri res n) delete pre private bject 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路:   1、利

牛客471+2+3+...+n

for 題目 lse n-1 spa pre color switch 判斷語句 // 題目描述 // 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

1+2+3+...+n

直接 等等 lin 遞歸 bool word esc scribe bject 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 首先看到這個題,不讓用for,

禁止使用循環判斷1+2+3+..n

乘除 int 運算符 禁止 通過 abs http 基本 clas 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路: 看到這一題的時候,不能使用乘除法和循環

offer第64:1+2+3+...+n

題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 # -*- coding:utf-8 -*- class Solution: def Sum_Solution(self, n):

offer____1+2+3+...+n

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 int Sum_Solution(int n) { int sum = n; sum && (sum +