n個人圍一圈,報123,報到三退出圈子,誰留下?

2021-08-20 04:41:29 字數 533 閱讀 1903

#include//標頭檔案;

int main()

//把1到n分別送到group陣列;

for(i = 0;;i++)

//當i=i+1時,讓i回到第乙個人;

if(group[i] != 0)

//如果這個數不為0,m加1;

else 

if(m%3 == 0)

//用m除以3的餘數來判斷這個人報的是不是3,如果是總數減1,並把這個數置0,也就是退出圈子;

if(counter == 1)

break;

//當counter=1時,說明group[0]到group[n]只有1個不為0的數,就剩這乙個人了,for迴圈結束;

}for(i=0;iif(group[i]!=0)

printf("the number left is:%d\n",group[i]);

//最後剩餘的人group[i]不為0,把它顯示出來;

return 0;

//返回值為0;

}

C語言 N個人圍成一圈報數淘汰問題

一 問題描述 有17個人圍成一圈 編號為0 16 從第 0號的人開始從 1報數,凡報到 3的倍數的人離開圈子,然後再數下去,直到最後只剩下乙個人為止。問此人原來的位置是多少號?二 問題解決 1.定義陣列記錄每個編號的狀態 是否被淘汰 2.在未被淘汰的人中檢查是否數到3,若是,淘汰此人 3.繼續此過程...

n人圍成一圈報數問題

題目 有n個人圍成一圈,順序排號。從第乙個人開始報數 從1到3報數 凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。思路 假如是8人,則需要乙個陣列將8個人的從1到8依次記下每人位數,還需要乙個模擬報數口令的變數該變數最初為0,從1到2在到3,當該變數為3時,此時對應編號的人就要退出 那麼第一...

助教c c n個人圍成一圈報數問題

以下三個問題都屬於同型別的問題,其中兩道題目是助教時的實驗題,還有一道是華為在成都招聘時的機試題目。在這三個問題中,問題1考慮的最簡單,用指標實現 問題2考慮最全面,用結構體實現 問題3用到了函式。問題1 有n個人圍成一圈,順序排號。從第乙個人開始報數,凡報到3的人退出圈子,問最後留下的是幾號?源程...