1. 程式人生 > 其它 >高階語言程式設計實驗4-2

高階語言程式設計實驗4-2

題目描述

有 12 人圍坐成一圈玩報數遊戲,從1號人員開始順時針報數,報到k的人員被淘汰出局;接著仍沿順時針方向從被淘汰出局者的下一人員又重新從 1 開始報數,報到 k的人被淘汰;如此繼續,直到最後只剩下一個人時停止。請編寫程式輸出最後所剩那個人的編號。

注意:(1)假設參加遊戲的人的編號沿順時針方向依次為 1 到 12,可以使用陣列來存放各資料;

(2)k>1,由使用者通過 cin 輸入指定。

輸入

輸入一個整數,代表報數值;

輸出

輸出一個整數,即最後剩下的人的編號;

樣例輸入Copy

3

樣例輸出Copy

10
#include <iostream>
using
namespace std; int main() { int a[13] = { 0 }; int n, m, k; n = m = k = 0; cin >> k; for (int i = 1; n != 11; i++) { if (i == 13) i = 1; if (a[i] == 0) m++; if (m == k) { m = 0; a[i] = 1; n++; } }
for (int i = 1; i <= 12; i++) if (a[i] == 0) cout << i; }