C語言實驗題——約瑟夫問題(JSU-ZJJ)
阿新 • • 發佈:2018-12-08
題目描述
n個人想玩殘酷的死亡遊戲,遊戲規則如下:
n個人進行編號,分別從1到n,排成一個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的一個人是勝利者。請輸出最後一個人的編號。
輸入
輸入n和m值。1<n,m<150。
輸出
輸出勝利者的編號。
樣例輸入
5 3
樣例輸出
4
#include"stdio.h" int main() { int a[150]; int n,m,i,j,k,count; while(~scanf("%d%d",&n,&m)) { for(i=1; i<=n; i++) a[i]=1; k=0; count=n; for(i=1; count>1; i++) { if(a[i]==1) k++; if(k==m) { a[i]=0; k=0; count--; } if(i+1>n) i=0; } for(i=1; i<=n; i++) if(a[i]==1) break; printf("%d\n",i); } }