每天兩道演算法題
一群海盜在海上遇難,漂泊到了一座孤島上。孤島上沒有任何食物,他們只好以人為食。。。
規則如下:
首先,讓n個海盜們圍成乙個大圈,編號為0 ~ n-1。
然後,隨機指定乙個數m,讓編號為0的海盜開始報數。
每次喊到m-1的那海盜要出列並且被淘汰。
從他的下乙個海盜開始,繼續0、1、……、m-1報數,直到剩下最後乙個海盜。
請設計乙個函式,求出最後的倖存者的編號。
#include
#include
#include
using
namespace std;
int64_t
get_lucky
(int64_t n,
int64_t m )
;int
main
(void
)int64_t
get_lucky
(int64_t n,
int64_t m )
執行演示
$ time ./a.out
lucky number is: 23357
real 0m0.003s
user 0m0.002s
sys 0m0.000s
int64_t
get_lucky
(int64_t n,
int64_t m )
vector<
int64_t
>
::iterator pos = arr.
begin()
;for
(int64_t i=
1; i++i )
pos = arr.
erase
( pos );if
( pos == arr.
end(
)) pos = arr.
begin()
;}return
*pos;
}
int64_t
get_lucky
(int64_t n,
int64_t m )
return res;
}
推薦閱讀《未來世界的倖存者》
我覺得阮一峰先生可以作為我們90後程式設計師的楷模之一。他從2003年開始在網路上寫日誌,文章包含的內容非常廣博,涉及讀書 版權制度 經濟學 英語 歷史 it技術 醫學 電影 和美術 政治學 科學 創業 網際網路等23個大的分類,其中有的分類還包括一些更細的子條目。從這裡可以看出他是乙個興趣廣泛的人...
未來世界的倖存者 阮一峰
建議所有人都要看看 未來世界的倖存者 home 2016年3月,谷歌公司的圍棋程式 alphago 戰勝了世界冠軍李世石。這讓我猛然意識到,世界正處在乙個前所未有的大變局 機械人 自動化 人工智慧正在變得比人類更強大。在可預見的將來,技術最終將淘汰人類。技術變革導致了人類社會的重構。絕大部分的人沒機...
《未來世界的倖存者》讀後有感
最近抽空讀完了阮一峰的作品 未來世界的倖存者 之所以會讀完這本書,一來是久仰阮一峰大名,尤其是對於跨專業的大牛,我都十分仰慕。二來是這本書主要是作者對於未來的思考,對於現階段的我來說,需要這方面的思想指導。官方的書籍介紹是這樣的 本書為阮一峰部落格文集,主要收錄的是作者對技術變革的影響的一些思考,希...