/*
PS:真的没有理解约瑟夫环问题。表示只能先记着结论用用了
目的:0,1,2,..., n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第K个数字,求圆圈里最后剩下的一个数字。
结论:中间每一次循环删掉的人不一定是对的,但是最后剩下的那个人一定是对的。
*/
int remainingLast(int n,int k) {
int last=0; for(int i=2;i<=n;i++) { last=(last+k)%i; } return last; }
约瑟夫环问题
最新推荐文章于 2022-05-04 19:46:17 发布