description
有m個敢死隊員要炸掉敵人的乙個碉堡,誰都不想去,排長決定用輪迴數數的辦法來決定哪個戰士去執行任務。如果前乙個戰士沒完成任務,則要再派乙個戰士上去。現給每個戰士編乙個號,大家圍坐成一圈,隨便從某乙個戰士開始計數,當數到5時,對應的戰士就去執行任務,且此戰士不再參加下一輪計數。如果此戰士沒完成任務,再從下乙個戰士開始數數,被數到第5時,此戰士接著去執行任務。以此類推,直到任務完成為止。
這題本來就叫「敢死隊」。「誰都不想去」,就這一句我覺得這個問題也只能叫「不敢死隊問題」。今天大家就要完成這道不敢死隊問題。我們假設排長是1號,按照上面介紹,從一號開始數,數到5的那名戰士去執行任務,那麼排長是第幾個去執行任務的?
input
輸入包括多試資料,每行乙個整數m(0<=m<=10000)(敢死隊人數),若m==0,輸入結束,不做處理。
output
輸出乙個整數n,代表排長是第n個去執行任務。
sample input
9
6
223
0
sample output
2
6
132
#include
#include
"cstdio"
#include
"cstring"
#include
"cstdlib"
using
namespace std;
struct
gsd*head;
intmain
() q->next=head->next;
int c1=
0,c2=0;
q=head->next;
while(1
)}p=q;
q=q->next;
}printf
("%d\n"
,c2);
}return0;
}
SDUT OJ 不敢死隊問題 鍊錶
time limit 1000ms memory limit 65536k 有m個敢死隊員要炸掉敵人的乙個碉堡,誰都不想去,排長決定用輪迴數數的辦法來決定哪個戰士去執行任務。如果前乙個戰士沒完成任務,則要再派乙個戰士上去。現給每個戰士編乙個號,大家圍坐成一圈,隨便從某乙個戰士開始計數,當數到5時,對...
不敢死隊問題 (迴圈鍊錶)
time limit 1000ms memory limit 65536k 有m個敢死隊員要炸掉敵人的乙個碉堡,誰都不想去,排長決定用輪迴數數的辦法來決定哪個戰士去執行任務。如果前乙個戰士沒完成任務,則要再派乙個戰士上去。現給每個戰士編乙個號,大家圍坐成一圈,隨便從某乙個戰士開始計數,當數到5時,對...
迴圈鍊錶(不敢死隊問題)
不敢死隊問題 problem description 有m個敢死隊員要炸掉敵人的乙個碉堡,誰都不想去,排長決定用輪迴數數的辦法來決定哪個戰士去執行任務。如果前乙個戰士沒完成任務,則要再派乙個戰士上去。現給每個戰士編乙個號,大家圍坐成一圈,隨便從某乙個戰士開始計數,當數到5時,對應的戰士就去執行任務,...