joseph.txt

来自「以前ACM在哈工程HRBEU做的一些简单题目」· 文本 代码 · 共 32 行

TXT
32
字号
#include <iostream>
using namespace std;
bool Joseph(int k, int m)
{
    int n,a=1;
    for(n=1;n<=k;n++)
    {
        a = (a+m-1)%(2*k-n+1);
        if(a == 0) a = 2*k-n+1;
        if(a<=k && a>=1) return false;
    }
    return true;
}
int main()
{
    int r,h,k,m;
    int a[15];
    for(k=1;k<=13;k++)
    {
       for(r=0;;r++)
          for(h=k+1;h<=2*k;h++)
      {
         m = 2*k*r+h;
         if(Joseph(k,m))goto end;
      }
     end:a[k]=m;
    }
    while(cin>>k&&k)cout<<a[k]<<endl;  
    return 0;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?