題目:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(a?b:c)。
解法一:
思路:遞迴求和。
解法二:class solution
};
思路:利用建構函式求解。我們先定義乙個類,接著建立n個該型別的例項,那麼這個建構函式將會被呼叫n次,我們可以將累加的**放到建構函式裡面。
解法三:class temp
static void reset()
static unsigned int getsum()
private:
static unsigned int n;
static unsigned int sum;
};unsigned int temp::n = 0;
unsigned int temp::sum = 0;
class solution
};
思路:利用虛函式求解。
class a;
a *array[2];
class a
};class b :public a
};class solution
};
牛客網 劍指office 字串的排列
題目 題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。解法一 思路 python 的解法 同解法...
牛客網 劍指office 陣列中的逆序對
題目 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 思路 歸併排序。先將陣列分為若干個長度相等的子陣列,然後在合併子陣列的時候進行排序 並統計逆...
牛客網 劍指office 棧的壓入 彈出序列
題目 輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。注意 這兩個序列的長度是相...