lijie201602 2017-09-14 22:40:12
点我顶贴
收藏
删除
#include<cstdio>
int a[100010],b[100010],n;
int main()
{
scanf("%d",&n);
int ans=1,k=2;
while(k!=1)
{
if(k<=n) k*=2;
else k=(k-n)*2-1;
ans++;
}
printf("%d",ans);
return 0;
}
/*
如果所在位置小于n的情况下下一次的位置就是n*2
但是如果大于n下次的位置就是(当前位置-n)*2-1
*/