首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

HDU 1210 Eddy's 洗牌有关问题 数论

2013-09-05 
HDU1210Eddys 洗牌问题数论题目地址:http://acm.hdu.edu.cn/showproblem.php?pid1210只需要判断1的走向就

HDU 1210 Eddy's 洗牌问题 数论

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1210


只需要判断1的走向就行,当回到1时就回到原样了。


代码如下:

#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <string>#include <vector>#include <list>#include <deque>#include <queue>#include <iterator>#include <stack>#include <map>#include <set>#include <algorithm>#include <cctype>using namespace std;const int N=2011;typedef long long LL;int main(){    int i,j,n;    while(cin>>n)    {        int t=1,i=0;        do        {            if(t<=n)                t*=2;            else                t=(t*2-1)%(2*n);            i++;        }while(t!=1);        cout<<i<<endl;    }    return 0;}


热点排行