現在有m個凳子排成乙個圈,我們順時針給凳子依次編號為1,2,3……,m。我們從編號為s的凳子開始,每次先順時針數n個凳子,將第n個凳子搬走,然後再逆時針數k個凳子,將第k個凳子搬走。每次都這樣先順時針數n個,再逆時針數k個,直到只剩1個凳子,直接搬走。最後,我們想知道m個凳子的搬走順序。
共4行,每行1個數,分別表示題目中的m,s,n,k。
僅一行,凳子搬走的序列,每個編號間有乙個空格。81
323 1 5 2 7 4 6 8
資料範圍
100% m<=1000
這是乙個變化版的約瑟夫問題。。。。。。
#include
#include
using
namespace std;
int a[
1005
],m,s,n,k,t,tt;
intmain()
}else
} a[s]=0
;printf
("%d "
,s);
//輸出本輪被搬了的凳子
}return0;
}
約瑟夫生死者小遊戲
30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?people list range 30 while len people 15 i 1 while ...
約瑟夫生者死者小遊戲
30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?include int c 0 int i 1 int j 0 int a 30 int b 30 i...
Python 約瑟夫生者死者小遊戲
問題描述 30 個人在一條船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置即為他們的編號。報數,從 1 開始,數到 9 的人下船。如此迴圈,直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?解決思路 給30個人編號1 30,每個人的初值都是1 在船上 i代表他們的編號,j代表被扔下...