天天看點

HDOJ  1210   Eddy's 洗牌問題

1 2
 2 4
 3 8
 4 3
 5 6
 6 12   //2^n;
 7 11   //2^n-1;
 8 9
 9 5
 10 10
 11 7
 12 1
 最後傳回到原來位置停止,,,,
 #include<stdio.h>
 int main()
 {
  int n,M;
  int sum;
  while(scanf("%d",&M)!=EOF)
  {
   n=1;
   sum=0;
   while(1)
   {
    if(n<=M)
     n=2*n;
    else
     n=(n-M)*2-1;
    if(n==1)
     break;
    sum++;
   }
   printf("%d\n",sum+1);}
  return 0;
 }