問題描述:
有n個人圍城一圈,並從1到n編號,從第m個人開始報數,報到k的人出圈,下乙個人繼續從1開始報數,再報到k的人出圈,直到最後只剩下乙個人。問最後剩下的這個人是幾號。
分析:用陣列來儲存每個人的編號,a[0]=1,a[1]=2,。。。,a[n-1]=n。
定義出圈人數為outcircle,每齣圈乙個人,outcircle++,當outcircle=n-1時,說明就剩下乙個人了。
怎麼定義出圈?當有人要出圈時,便把他的編號置為0,不再參與報數。
定義count變數作為計數器,每次出圈一人,count++;
當count==k時,則出圈乙個人,count=0,重新計數;
int getlastone(int n,int start,int target)
{ int *array=new int[n];
int count=0;//報數
int outcircle=0;//出圈人數
//首先給圈內人編號
int i;
for (i=0;i
Game 圍圈比賽
我們在生命的路上常常絕望 大概是因為彎路走了太多 腳上的泡被磨起又磨破 像我們所有的幻想與夢 起起落落。所以說 我這道題考場上面和題解想得一模一樣啊啊啊啊啊啊啊啊啊啊!但是就是打複雜了啊啊啊啊啊啊啊啊!為什麼我每次一看到環就感覺自己被耍了啊啊啊啊啊啊!自己的寫法大概是有乙個head tail記錄環的...
1334 例2 3 圍圈報數
時間限制 1000 ms 記憶體限制 65536 kb 提交數 5807 通過數 3799 題目描述 有 個人依次圍成一圈,從第 個人開始報數,數到第 個人出列,然後從出列的下乙個人開始報數,數到第 個人又出列,如此反覆到所有的人全部出列為止。設 個人的編號分別為1,2,n,列印出列的順序。輸入 n...
Python小遊戲 圍圈報數淘汰
n個人玩遊戲,從第乙個人開始按照1 2 3報數,報到3的人被淘汰,最終剩下的2人為天選之子 取得勝利!小遊戲 1 先確定玩遊戲的總人數 num n int input 請輸入總人數 2 建立總人數的列表 for i in range n 1 print 輸出列表元素 num 檢查驗證列表元素 3 定...