水题痛彻我心扉,就这样。
View Code
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a[14]; 6 int i,j,k,num = 2; 7 while(num <= 13) 8 { 9 if(num == 0) 10 break; 11 for(i = 1;;i++) 12 { 13 j = 0; 14 k = num * 2; 15 while(1) 16 { 17 j = (j + i) % k; 18 if(j == 0 || j > num) 19 { 20 k--; 21 if(k == num) 22 { 23 a[num] = i; 24 goto end; 25 } 26 if(j == 0) 27 j = k; 28 else 29 j--; 30 } 31 else 32 break; 33 } 34 } 35 end: 36 num++; 37 continue; 38 }//while 39 int t; 40 while(cin>>t) 41 { 42 if(t == 0) 43 break; 44 if(t == 1) 45 { 46 cout<<2<<endl; 47 continue; 48 } 49 else 50 cout<<a[t]<<endl; 51 } 52 return 0; 53 }