P1145 约瑟夫
https://www.luogu.com.cn/problem/P1145
涉及知识点:暴力,枚举,搜索
涉及知识点:暴力,枚举,搜索
橙色题
代码:
#include <stdio.h> int main() { int k,i; while (scanf("%d",&k)!=EOF)//个人输入习惯,请忽略 { int flag=1,m=k; while (flag) { m++;//m至少为k+1 int cursor=0;//设置光标的移动 for (i=0; i<k; i++) { cursor=(cursor+m-1)%(2*k-i);//下一次出列之人的编号 if (cursor<k)break;//判断出列的那个人是否小于k,小于就进行下一个m的判断 if (i==k-1)flag=0;//说明已经找到最小的m } } printf("%d\n",m); } return 0; }

浙公网安备 33010602011771号