ZCMU-1177-循环序列
2017-02-04 15:36
323 查看
1177: 循环序列
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 29 Solved: 17
[Submit][Status][Web
Board]
Description
有一个长度为2n的序列,编号为1,2,,…,n,n+1,…,2n-1,2n.经过一次变换后这个序列会变成n+1,1,n+2,2,n+3,3,n+4,4,…,2n,n.如果告诉你n,你能求出这个序列最少经过几次变换后才能变成原来的序列,若这个序列不是循环序列,既不能变成原来的序列那么输出-1.Input
多组测试数据.每组数据的第一行包含一个正整数n(1<= n<=10000).Output
对于每组测试数据输出最少需要经过几次变换或者-1.Sample Input
201
Sample Output
202
【解析】
脑子笨的如我..一开始不懂这道题的意思..其实就是这样子的比如说1 2 3 4这样以中间为分界线把1移到3的后面,把2移到4的后面就变成了3 1 4 2,再把3移到4的后面把1移到2的后面变成4 3 2 1 再以此类推变成2 4 1 3,再来一次变回了1 2 3 4,总共4次。这个时候我们就要模拟1位置的变化了,我们可以慢慢的多试试就会发现其实就是(2*m)%(2*n+1)这里m代表的是1现在在的位置。
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int n,m,count1; while(~scanf("%d",&n)) { m=2%(2*n+1); count1=1; while(m!=1) { m=(m*2)%(2*n+1); count1++; } printf("%d\n",count1); } return 0; }
相关文章推荐
- 根据先序序列和中序序列求后序序列的循环实现
- 5.序列模型 第一周 循环序列模型
- 循环-25. 求给定序列前N项和之三(15)
- Gosper 的序列 循环检测
- 复习 if条件 for序列 for字典 循环退出 while
- 循环队列的运用---求K阶斐波那契序列
- mybatis循环取序列,值相同问题处理
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- Coursera | Andrew Ng (05-week1)—循环序列模型
- C++11 FAQ中文版:序列for循环语句
- 循环-24. 求给定序列前N项和之二(15)
- Python倒序循环列表(序列)
- 循环-26. 求给定序列前N项和之四(15)
- 二分搜索相关及循环有序序列相关
- 时间序列(五): 大杀器: 循环神经网络
- 循环-24. 求给定序列前N项和之二(15)
- 设计算法,对某个已知的循环序列链表,找出其中最小元素的位置
- Python学习(四)---序列生成range函数、循环
- 循环-10. 求序列前N项和(15)
- 循环-25. 求给定序列前N项和之三(15)