嘔心瀝血演算法題——放麥子
// 你一定聽說過這個故事。國王對發明國際象棋的大臣很佩服, // 問他要什麼報酬,大臣說:請在第1個棋盤格放1粒麥子, // 在第2個棋盤格放2粒麥子,在第3個棋盤格放4粒麥子, // 在第4個棋盤格放8粒麥子,......後一格的數字是前一格的兩倍, // 直到放完所有棋盤格(國際象棋共有64格)。 // 國王以為他只是想要一袋麥子而已,哈哈大笑。 // 當時的條件下無法準確計算,但估算結果令人吃驚:即使全世界都鋪滿麥子也不夠用! // 請你藉助計算機準確地計算,到底需要多少粒麥子。 let sum = 0; for (let i = 0; i < 64; i++) { sum += Math.pow(2, i); } console.log(sum);
相關推薦
嘔心瀝血演算法題——放麥子
// 你一定聽說過這個故事。國王對發明國際象棋的大臣很佩服, // 問他要什麼報酬,大臣說:請在第1個棋盤格放1粒麥子, // 在第2個棋盤格放2粒麥子,在第3個棋盤格放4粒麥子, // 在第4個棋盤格放8粒麥子,......後一格的數字是前一格的兩倍, // 直到放完所有棋盤格(國際象棋共有6
嘔心瀝血演算法題——取球博弈
// 今盒子裡有n個小球,A、B兩人輪流從盒中取球,每個人都可以看到另一個人取了多少個, // 也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。 // 我們約定: // 每個人從盒子中取出的球的數目必須是:1,3,7或者8個。 // 輪到某一方取球時不能棄權! // A先取球,
嘔心瀝血演算法題——最大子串
// 串“abcba”以字母“c”為中心左右對稱;串“abba”是另一種模式的左右對稱。 // 這兩種情況我們都稱這個串是映象串。特別地,只含有1個字母的串,可以看成是第一種模式的映象串。 // 一個串可以含有許多映象子串。我們的目標是求一個串的最大映象子串(最長的映象子串), // 如果有多個
嘔心瀝血演算法題——數量週期
// 複雜現象背後的推動力,可能是極其簡單的原理。科學的目標之一就是發現紛 // 繁複雜的自然現象背後的簡單法則。愛因斯坦的相對論是這方面的典範例證。 // 很早的時候,生物學家觀察某區域某種昆蟲的數量(稱為蟲口數)之逐年變化規律, // 就十分迷惑:有的時候是逐漸增多達到一個平衡值。有的時候在
嘔心瀝血演算法題——古代賭局
// 俗話說:十賭九輸。因為大多數賭局的背後都藏有陰謀。不過也不盡然,有些賭局背後藏有的是:“陽謀”。 // 有一種賭局是這樣的:桌子上放六個匣子,編號是1至6。多位參與者(以下稱玩家)可以把任意數量的錢押在某個編號的匣子上。 // 所有玩家都下注後,莊家同時擲出3個骰子(骰子上的數字都是1至6
嘔心瀝血演算法題——水仙花數
// 水仙花數(Narcissistic number) // 也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number) // 水仙花數是指一個 n 位數,它的每個位上的數字的
嘔心瀝血演算法題——密碼發生器
// 在對銀行賬戶等重要許可權設定密碼的時候,我們常常遇到這樣的煩惱:如果為了好記用生日吧, // 容易被破解,不安全;如果設定不好記的密碼,又擔心自己也會忘記;如果寫在紙上,擔心紙張被別人發現或弄丟了... // 這個程式的任務就是把一串拼音字母轉換為6位數字(密碼)。 // 我們可以使用任何
嘔心瀝血演算法題——第一個數字
// 以下的靜態方法實現了:把串s中第一個出現的數字的值返回。 // 如果找不到數字,返回-1 // 例如: // s = "abc24us43" 則返回2 // s = "82445adb5" 則返回8 // s = "ab" 則返回-1 function firstNum(str)
嘔心瀝血演算法題——撲克牌排列
// 下面程式碼模擬了一套撲克牌(初始排序A~K,共13張)的操作過程。 // 操作過程是: // 手裡拿著這套撲克牌,從前面拿一張放在後面,再從前面拿一張放桌子上,再從前面拿一張放在後面,.... // 如此迴圈操作,直到剩下最後一張牌也放在桌子上。 // 下面程式碼的目的就是為了求出最後桌上
嘔心瀝血演算法題——猜算式
// 看下面的算式: // □□ x □□ = □□ x □□□ // 它表示:兩個兩位數相乘等於一個兩位數乘以一個三位數。 // 如果沒有限定條件,這樣的例子很多。 // 但目前的限定是:這9個方塊,表示1~9的9個數字,不包含0。 // 該算式中1至9的每個數字出現且只出現一次! // 比如
嘔心瀝血演算法題——串的處理
// 串的處理 // 在實際的開發工作中,對字串的處理是最常見的程式設計任務。 // 本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: // 1. 把每個單詞的首字母變為大寫。 // 2. 把數字與字母之間用下劃線字元(_)分開,使得更清晰 // 3. 把
我覺得有必要找個地方把沒做的細節/碼農題放著
表達 分形 -s 表達式 mil 進制轉換 size 兩個 轉換 兩個分形:poj3889 poj2083 占撲DIY poj1220 高精度進制轉換 表達式計算4 POJ1193/NOI1999 內存分配 poj 3074 …… &
php演算法題(資料結構)
單鏈表的實現 // 單鏈表的操作 public function index() { $list = new \singleLink(); $list->addNode(new \Node(1,'a')); $list->addNode(new \Node(3,'c')
創新工場2014筆試演算法題彙總
1. 堆排序 #include<iostream> usingnamespace std; void SwapValue(int &m, int &n) { int temp = m; m
阿里巴巴2014筆試演算法題彙總
1.兩棵二叉樹T1和T2,T1的節點數是百萬量級,T2的節點數一千以內,請給出判斷T2是否T1子樹的可行演算法。 分析:首先想到的是遞迴,但是T1的數量級太大,遞迴會導致棧溢位,於是以非遞迴實現。 bool IsSubtree(BinaryTreeNode* pRoot
去哪兒網2014筆試演算法題彙總
1.寫一個函式,轉換相對路徑為絕對路徑,比如:/home/abs/../temp/new/../,輸出路徑為:/home/temp。 參考程式碼: //寫一個函式,轉換相對路徑為絕對路徑,比如:/home/abs/../temp/new/../,輸出路徑為:/home/
美團網2014筆試演算法題彙總
1.連結串列翻轉。給出一個連結串列和一個數k,比如連結串列1→2→3→4→5→6,k=2,則翻轉後2→1→4→3→6→5,若k=3,翻轉後3→2→1→6→5→4,若k=4,翻轉後4→3→2→1→5→6,用程式實現。 #include <iostream> u
百度2014筆試演算法題彙總
1.使用C/C++編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型:char* reverse_str(char* str)。 2.給定一個如下格式的字串(1,(2,3),(4,(5,6),7))括號內的元素可以是數字,也可以是另一個括號,請實現一個演算
華為2014筆試演算法題彙總
1.通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫一個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。 比如字串“abacacde”過濾結果為“abcde”。 要求實現函式:void stringFilter(const char *pInput
暴風影音2014筆試演算法題彙總
1.自定義實現字串轉為整數的演算法,例如把“123456”轉成整數123456.(輸入中可能存在符號,和數字) //返回結果的有效標誌 enum Status {VALID,IN_VALID}; int gStatus = VALID; int strTo