總時間限制:
1000ms
記憶體限制:
65536kb
描述
約瑟夫問題:有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入n,m後,輸出最後猴王的編號。
輸入每行是用空格分開的兩個整數,第乙個是 n, 第二個是 m ( 0 < m,n <=300)。最後一行是:
0 0輸出
對於每行輸入資料(最後一行除外),輸出資料也是一行,即最後猴王的編號
樣例輸入
6 212 4
8 30 0
樣例輸出
51
雖然一邊ac,但本地調了好一段時間。在這裡說一下,供初學者警醒。
首先,由於我令n不斷遞減,到1時終止迴圈,因此無論是選猴王的過程中(迴圈中),還是之後迎接猴王時(for遍歷看剩的是誰),作為指標的p,都不能再與n比較了,因為他變了,而應與其副本ncpy比較。
其次,只注意變數清零而沒有對monkey陣列清零,導致第二次測試就輸不出來了,所以,,一定要注意操作過的東西,看看本次測試之後是否需要清零。。忘記清零的現象,要不沒有輸出了,要麼輸出奇怪,崩潰也是有可能的....
再有就是一些小錯誤了,基本都是變數混淆,一debug就能發現。告誡大家喝完酒後不要寫**,效率有點低啊~
上網找了此題的高效解決辦法,不得不說,這**我服:
#include int main()
printf ("%d\n", s+1);
} return 0;
}
堅持,而不是打雞血~
poj2746約瑟夫問題
2746 約瑟夫問題 檢視 提交 統計 提示 提問 總時間限制 1000ms 記憶體限制 65536kb 描述約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是...
Bailian2746 約瑟夫問題
描述 約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入 後,輸出最後猴王的編號。輸入每行是用空格分開的兩個整數,第乙個是 n,第二個是 m...
BLMOOC2746約瑟夫問題
總時間限制 1000ms 記憶體限制 65536kb 描述約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入 後,輸出最後猴王的編號。輸入每...