《一》問題描述: 有17個人圍成一圈(編號為0~16),從第 0號的人開始從 1報數, 凡報到 3的倍數的人離開圈子,然后再數下去,直到最后只剩下一個人為止。 問此人原來的位置是多少號? 《二》問題解決: 1.定義數組 ...
題目:有n個人圍成一圈,順序排號。從第一個人開始報數 從 到 報數 ,凡報到 的人退出圈子,問最后留下的是原來的第幾號的那位 思路:用一個數組存這n個人,里面的初始狀態全設為 ,表示都還在圈子里面。 然后用q來記錄報的號,因為每次報號報到 的人就得退出圈子,用j來表示圈子內剩余的人數。 每當有人報到 時,j ,同時將數組中該元素的值標記為 ,q清 。 這樣while循環結束后,數組中就只會剩下一個 ...
2018-01-16 11:32 0 2396 推薦指數:
《一》問題描述: 有17個人圍成一圈(編號為0~16),從第 0號的人開始從 1報數, 凡報到 3的倍數的人離開圈子,然后再數下去,直到最后只剩下一個人為止。 問此人原來的位置是多少號? 《二》問題解決: 1.定義數組 ...
Input: 包含多組數據。 每行表示初始人數n。<n<1000000)< p=""> 最后一組是0,不用處理。 Output: 對每個測試數據輸出最后一人的初始編號 Sample Input: 3 7 0 Sample Output ...
有n個人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位 解題思路: 從第一個人開始,逐個報數,誰報3就退出,並且重置報數,直到最后一個人后,又重新從第一個人繼續報數,直到最終只剩一個人的時候退出即可。 答案: ...
這一道題,在剛學完指針之后的第一個禮拜,無意間看到課后練習,就去思考,起先不會做,想了很久,只有一點思路,但是還是不能把代碼完整的寫出來,后來就去百度,看了貼吧,發現這是經典問題了,俗名猴子選大王,發 ...
題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 解題思路: 一直遍歷這個數組,每隔2個刪除一個元素,直到只剩下一個元素 如果遇到了數組的結尾,那么就跳轉到開頭 ...
有n個人圍成一圈,順序排號。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。 點我看視頻講解+可運行代碼,記得收藏視頻,一鍵三連 解題思路: 從第一個人開始,逐個報數,誰報3就退出,並且重置報數,直到最后一個人后,又重新從第一個人繼續報數,直到最終只剩 ...