poj1012-Joseph

#include<iostream>
#include<cstring>
int a[27];
int Jo[14]={0};
using namespace std;
int main(){
int k;
while(cin>>k,k){
if(Jo[k])  cout<<Jo[k]<<endl;
else{ 
int n=2*k;
int m=k+1;    
        for(int i=1;i<=k;i++)  
        {  
            a[i]=(a[i-1]+m-1)%(n-i+1);     
            if(a[i]<k)    
            {  
                i=0;  
                m++;   
            }  
        } 
cout<<m<<endl; 
Jo[k]=m;
}
       
}
return 0;
}

類似打表

發佈了74 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章