/**/
/*
Description



将m个孩子从1到m编上号,按序号围坐成一个圈,从1号孩子开始数,每数到n时,被数到的孩子即离开圈子,然后从下一个孩子开始,再从1开始数,如此不断地数下去,只到只剩下最后一个孩子,问剩下的孩子是几号?


Input



输入为一组整数对,每个整数对占一行,整数对的第一个整数表示m,即孩子的个数,第二个整数表示n,即被数到n的孩子将离开。
0<m<10000, n>0
输入以0 0作为结束。


Output



每组整数对输出一个结果整数,每个输出占一行。
最后一行输入0 0不产生输出。


Sample Input



8 3
5 2
0 0

Sample Output



7
3
*/


/**/
/*NO.1 (O(n) )算法*/


#include
<
stdio.h
>
#include
<
math.h
>

int
main(
void
)
...
{
int m,r;
int i , j, s=0;
scanf("%d %d"

本文介绍了约瑟环问题,并提供了三种不同算法的解决方案:包括一个简单的O(n)算法,数组模拟和循环链表模拟。通过这些算法,可以找出当孩子数为m,数到n时离开圈子后最后剩下的孩子的编号。
最低0.47元/天 解锁文章
1511

被折叠的 条评论
为什么被折叠?



