洛谷P2060 faebdc玩扑克2
2024-08-24 05:58:18
P2060 faebdc玩扑克2
题目背景
faebdc和zky又在玩扑克
题目描述
给你2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。 一次洗牌是把序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。可以证 明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到 初始的顺序。给定N,求出M的值。
输入输出格式
输入格式:
一个数n
输出格式:
一个数m
输入输出样例
说明
置换群
对于100%的数据,n\le 10^8n≤108
/*
设洗牌前牌的位置为 xx,洗牌后的位置为 yy,有:
y=x*2 (x<=n)
y=(x-n)*2-1 (x>n)
以第 1 张牌为对象,用上面的方式给它“洗牌”,如果洗牌过程中它回到了 1 的位置,此间洗牌的次数即为答案。
*/
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,p;
int main(){
scanf("%d",&n);
for(m=,p=;m==||p!=;m++){
if(p<=n)p=p*;
else p=(p-n)*-;
}
printf("%d",m);
return ;
}
最新文章
- jQuery fsBanner 手风琴
- SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(1)
- ubuntu下配置lamp环境
- MySQL主从分离读写复制
- Thinkphp模板怎么使用自定义函数
- Interlocked.Increment 方法 和Interlocked.Decrement 方法作用
- DM8168 环境搭建(1)
- pcDuino无显示器刷机与使用
- css中的边框样式
- Vue.jsbrowserify项目模板
- 关于hibernate子查询参数的问题
- Android build-tools升级到23.0.0_rc1无法解决编译后的问题
- xml在此生活
- MySQL 存储表情字符
- java 得到uuid并处理
- Map接口下的集合和泛型理解
- FastDFS api介绍
- python3 调用 Linux 脚本
- Docker 启动不了容器的问题
- iOS网络篇