《劍指offer》求1+2+3+...+n
【 宣告:版權所有,轉載請標明出處,請勿用於商業用途。 聯絡信箱:[email protected]】
題目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
思路
這道題初看起來貌似並想不到什麼太好的方法,但是如果我們熟悉C++的特性,或者對遞迴比較瞭解的話,還是能找到一些解決的方法
1.使用遞迴
class Solution { public: int Sum_Solution(int n) { int sum = n; bool flag = (n>0) && ((sum+=Sum_Solution(n-1))>0); return sum; } };
2.建構函式
class Temp { public: Temp() { ++N; Sum+=N; } static void Reset() { N = Sum = 0; } static int GetSum() { return Sum; } private: static int N; static int Sum; }; int Temp::N = 0; int Temp::Sum = 0; class Solution { public: int Sum_Solution(int n) { Temp::Reset(); Temp *a = new Temp[n]; delete []a; a = NULL; return Temp::GetSum(); } };
3.虛擬函式
class A; A* Array[2]; class A { public: virtual int Sum(int n) { return 0; } }; class B:public A { public: virtual int Sum(int n) { return Array[!!n]->Sum(n-1)+n; } }; class Solution { public: int Sum_Solution(int n) { A a; B b; Array[0] = &a; Array[1] = &b; return Array[1]->Sum(n); } };
相關推薦
劍指Offer--求1+2+3+...+n
題目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 先上程式碼: public class Solution { public int Sum_Solution(int
劍指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 =>
[劍指Offer] 求1+2+3+...+n(Python)
題目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路 思路一:Python語言特性 思路二:遞迴 + 邏輯與的短路特性代替if語句 程
劍指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 +
劍指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 題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 解題思路: 法一:利用python的特性 法二:用兩個函式,一個遞迴,另一個終止遞迴。如果對n連續進
劍指offer 47. 求1+2+3+...+n
原題 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 Reference Answer 思路分析 思路很清奇,採用遞迴思路即可。 # -*- coding:utf-8 -*- cl
(劍指offer)求1+2+3+……+n
題目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 public class Solution { public int Sum_Solution(int n) {
《劍指offer》-- 構建乘積陣列、求1+2+3+...+n、不用加減乘除做加法、包含min函式的棧
一、構建乘積陣列: 1、題目: 給定一個數組A[0,1,...,n-1],請構建一個數組B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 2、解題思路: B[i]的
劍指offer系列(47):求1+2+3+...+n
題目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 樣例 輸入5 輸出15 思路分析 方法一:利用Math類的api實現n(n+1),即Math.pow(
劍指offer-47:求1+2+3+...+n
題目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路 1.需利用邏輯與的短路特性實現遞迴終止。 2.當n==0時,(n>0)&&((sum+=Sum_Sol
劍指offer---47求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(
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)(劍指offer)
今天在牛客網上遇到這樣一道題目,求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C) 一般大家在看到這種題目的時候是完全沒有頭緒的,但是我們可以從多方面進行思考,首先我們應該想
求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>
《劍指offer》求1+2+3+...+n
【 宣告:版權所有,轉載請標明出處,請勿用於商業用途。 聯絡信箱:[email protected]】 題目描述求1+2+3+...+n,要求不能使用乘除法、for、while、i
劍指Offer47:求1+2+3....n
思路: 運用遞迴的思路,遞迴停止的條件是n=0,然後回溯。 要注意python中邏輯運算子的用法,a and b,a為False,返回a,a為True,就返回b # -*- coding:utf-8 -*- class Solution: total=0
46、求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
closed else while spl 判斷語句 stat 條件 執行 ret 思路:循環或者遞歸都有個結束條件和執行條件。用&&短路與代替。 //短路與&&;就是只有前一個條件滿足才可以去判斷第二個條件。 //遞歸的出口
求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
47求1+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