您的位置:首页 > 其它

hdu 1210 Eddy's 洗牌问题

2011-09-14 22:15 316 查看
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1210

题目思路很简单,只要保证1在第一个位置的时候就说明牌的顺序达到要求,输出M就可以了。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        int i=2;
        int sum=1;
        while(i!=1){
            if(i>n){
                i=(i-n)*2-1;
            }else{
                i=i*2;
            }
            sum++;
        }
        printf("%d\n",sum);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: