您的位置:首页 > 其它

【hoj】1196 Power Crisis( Joseph'problem 变型)、1441 Eeny Meeny Moo

2014-07-02 16:06 316 查看
   由之前我们约瑟夫最基本的问题的解决模板可以很轻松的解决这个题,知道最后剩下的序号来求最小的m值,总数不大所以逐个验证是否最后剩下的是第13号就行,但是要注意不同的是第一次灭的是第1号,而不是第m号,这个地方特殊处理下就行了。。。

#include <iostream>
#include <cstring>
#define MAX 105

using namespace std;
int n;
int test(int m)
{
int s = 0;
for(int i = 2;i < n;i++){
s = (s+m)%i;
}
return s;
}
int main()
{
while(cin>>n){
if(n == 0)
break;
for(int m = 1;;m++){
int s = 0;
s = test(m);
s = s+1 % n;
if(s == 12){
cout<<m<<endl;
break;
}
}
}
return 0;
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Josephs problem