對樓上的問題我表示懷疑,因?yàn)榈谝蝗笫O碌氖?、3、5、7..,然后第二圈是1,然后是5,而5并不能被3整除.
實(shí)際上這個(gè)問題是約瑟夫環(huán)問題,沒有非??斓挠?jì)算方式,數(shù)學(xué)方法如下:
問題描述:n個(gè)人(編號(hào)0~(n-1)),從0開始報(bào)數(shù),報(bào)到m-1的退出
,剩下的人繼續(xù)從0開始報(bào)數(shù).求勝利者的編號(hào).
我們知道第一個(gè)人(編號(hào)一定是(m-1)%n) 出列之后,剩下的n-1個(gè)人組成了一個(gè)新的約瑟夫環(huán)(以編號(hào)為k=m%n的人開始):
k k+1 k+2 ...n-2,n-1,0,1,2,...k-2
并且從k開始報(bào)0.
現(xiàn)在我們把他們的編號(hào)做一下轉(zhuǎn)換:
k --> 0
k+1 --> 1
k+2 --> 2
...
...
k-3 --> n-3
k-2 --> n-2
序列1:0,1,2,3 … n-2,n-1
序列2:0,1,2,3 … k-1,k+1,…,n-2,n-1
序列3:k,k+1,k+2,k+3,…,n-2,n-1,1,2,3,…,k-2,
序列4:0,1,2,3 …,5,6,7,8,…,n-3,n-2
變換后就完完全全成為了(n-1)個(gè)人報(bào)數(shù)的子問題,假如我們知道這個(gè)子問題的例如x是最終的勝利者,那么根據(jù)上面這個(gè)表把這個(gè)x變回去不剛好就是n個(gè)人情況的解嗎?!變回去的公式很簡單,相信大家都可以推出來:
∵ k=m%n;
∴ x' = x+k = x+ m%n ; 而 x+ m%n 可能大于n
∴x'= (x+ m%n)%n = (x+m)%n
得到 x‘=(x+m)%n
如何知道(n-1)個(gè)人報(bào)數(shù)的問題的解?對,只要知道(n-2)個(gè)人的解就行了.(n-2)個(gè)人的解呢?當(dāng)然是先求(n-3)的情況 ---- 這顯然就是一個(gè)倒推問題!好了,思路出來了,下面寫遞推公式:
令f表示i個(gè)人玩游戲報(bào)m退出最后勝利者的編號(hào),最后的結(jié)果自然是f[n].
遞推公式:
f[1]=0;
f[i]=(f[i-1]+m)%i; (i>1)
有了這個(gè)公式,我們要做的就是從1-n順序算出f的數(shù)值,最后結(jié)果是f[n].我們輸出f[n]由于是逐級(jí)遞推,不需要保存每個(gè)
————————
也就是說,從理論上講1993個(gè)要計(jì)算1992次才能得出答案,OTZ
但是,如果你一定要答案怎么辦呢?
yeah!你問到了一個(gè)計(jì)算機(jī)帝哦,我?guī)湍闼愠鰜硎?939.
更具體可以自己百度一下約瑟夫環(huán),
踩我哦親~
把1~1993個(gè)自然數(shù)按順時(shí)針方向依次排列在一個(gè)圓圈上,從1開始順時(shí)針的方向,保留1,擦去2;保留3,擦去4……,這樣每隔一個(gè)數(shù),擦去一個(gè)數(shù),轉(zhuǎn)圈擦下去,問,最后剩下一個(gè)數(shù)時(shí),剩下的是哪個(gè)數(shù)?
把1~1993個(gè)自然數(shù)按順時(shí)針方向依次排列在一個(gè)圓圈上,從1開始順時(shí)針的方向,保留1,擦去2;保留3,擦去4……,這樣每隔一個(gè)數(shù),擦去一個(gè)數(shù),轉(zhuǎn)圈擦下去,問,最后剩下一個(gè)數(shù)時(shí),剩下的是哪個(gè)數(shù)?
數(shù)學(xué)人氣:531 ℃時(shí)間:2019-08-21 08:18:37
優(yōu)質(zhì)解答
我來回答
類似推薦
- 把1至2001按從小到大順時(shí)針方向排成一個(gè)圓圈.從1開始,每隔一個(gè)數(shù)劃掉兩個(gè)數(shù),最后剩下的一個(gè)數(shù)是( )
- 把1~128這128個(gè)自然數(shù)按順時(shí)針方向依次排列在一個(gè)圓圈上,從1開始順時(shí)針的方向,擦去1,保留2,……,
- 1到9這9個(gè)自然數(shù)排成一個(gè)圓圈,從一個(gè)地方剪開,組成兩個(gè)9位數(shù),使它們能被396整除(1,6,4,9,2,5,7,3,8)
- 自然數(shù)按從小到大的順序順時(shí)針排成螺旋形,在2處拐第一個(gè)彎,在3處拐第二個(gè)彎,在5處拐第三個(gè)彎,
- 附加題:把1~999這999個(gè)自然數(shù)按順時(shí)針的方向依次排列在一個(gè)圓圈上(如圖).從1開始按順時(shí)針的方向,保留1,擦去2;保留3,擦去4…這樣每隔一個(gè)數(shù)擦去一個(gè)數(shù),轉(zhuǎn)圈擦下去.問:最后
- 甲乙兩數(shù)和是50 ,甲數(shù)的3倍于乙數(shù)的4倍的和是165,甲乙兩數(shù)是多少?
- 罐頭廠要給水果罐頭做一種圓柱形的包裝盒,已知這個(gè)罐頭盒的底面半徑為5cm,高6cm,同時(shí)要在盒的外面貼一
- 等腰三角形腰和底邊長的比是3:2,若底邊長為6,則底邊上的高是多少?腰上的高是多少?
- 填成語啊..平( )無( ) ,形( )影( ) ,()云()霧
- 一個(gè)圓柱高9分米,側(cè)面積226.08平方分米,它的底面積是多少平方分米?
- 已知cosa=1/7,cos(a+b)=13/14.且a,b屬于(0,派/2)
- 2.3g鈉由原子變成離子時(shí),失去的電子數(shù)為0.1NA(要過程)
猜你喜歡
- 1一個(gè)德語問題
- 2隨機(jī)變量的概率密度問題
- 3一條褲子,原價(jià)120元,提價(jià)30%以后,又因過季降價(jià)30%,現(xiàn)在售價(jià)是多少?
- 4夜間,可看到池水能倒影路燈,若池水深2米,路燈距水面8米燈在水面的像到燈的距離應(yīng)
- 51.將一個(gè)長方體平均截成5段,每段長5分米,表面積增加了120平方分米.原來長方體的體積是多少立方分米?
- 6調(diào)節(jié)水龍頭,讓水一滴滴流出,在下方放一盤子,調(diào)節(jié)盤子高度,使水滴碰到盤子時(shí),恰有另一水滴開始下落,而空中還有一滴正在下落的水滴,測出水龍頭到盤子的高度為h(m),從第一
- 7冬天窗戶上為什么會(huì)有水蒸氣
- 8質(zhì)量為m的木塊放在水平傳送帶上,隨傳送帶一起向前運(yùn)動(dòng),木塊與傳送帶間的動(dòng)摩擦因數(shù)為μ,則下列說法正
- 9再勇敢些,用英文怎么說.be more modest,對嗎,
- 10已知命題p:方程x2+mx+1=0有兩個(gè)不等的負(fù)實(shí)根,命題q:方程4x2+4(m-2)x+1=0無實(shí)根,若p或q為真,p且q為假,則實(shí)數(shù)m的取值范圍是( ) A.(1,2]∪[3,+∞) B.(1,2)∪(3,+∞) C.(1,2]
- 11(1)若不等式組(1)x+ab 的解集是-2
- 1264噸硫最能能制取多少硫酸?