FZU1062 洗牌問題

  如果所在位置小於n的情況下 下一次的位置就是n*2
但是 如果大於n 下次的位置就是(當前位置-n)*2-1;

已AC代碼:

#include <iostream>
using namespace std;
int main()
{
    int n,i,t;
    while(cin>>n)
    {
        i=1,t=0;
        do
        {
            if(i<=n)
                i=2*i;
            else
                i=2*(i-n)-1;
            t++;
        }while(i!=1);
        cout<<t<<endl;
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章