您的位置:首页 > 其它

UVA 305 - Joseph

2018-04-12 16:17 357 查看
约瑟夫环问题,要在输入之前用一个数组列出所有结果,这样调用不会tle代码如下:
#include <bits/stdc++.h>

using namespace std;

int main()
{
int k,i,a,b,j,x[15],s;
for(k=1; k<14; ++k)
{
for(i=k+1;; ++i)
{
a=b=0;
for(j=k*2; j>k; --j)
{
a=(a+i-1)%j;
if(a<k)
b=1;
}
if(!b)
{
x[k]=i;
break;
}
}
}
while(cin>>s&&s)
{
cout<<x[s]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UVA 305 Joseph 约瑟夫环