约瑟夫环
题目:约瑟夫环
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
int Josephus (int sum, int signal)
{
if (sum <
1 || signal < 1)
return -1;
int
call_off_times = 0;
for (int i =
2; i <= sum; i++)
call_off_times = (call_off_times + signal) %
i;
return
call_off_times;
}
int main ()
{
int n,
m;
cin >>
n >> m;
cout
<< "We need call " << Josephus (n, m) << " times"
<< endl;
return
0;
}
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
int Josephus (int sum, int signal)
{
}
int main ()
{
}