3813:【第七章数组】洗牌问题 分数: 3

原创 2015年07月10日 09:44:39

题目描述

给你2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。 一次洗牌是把序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。可以证明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到 初始的顺序。编程对于小于10000的自然数N,求出M的值。

输入格式

一个自然数N

输出

洗牌次数M

样例输入

20

样例输出

20

program p3813;
var
 a,b:array[1..20000]of longint;
 i,s,n:longint;
 jg:boolean;

begin
 readln(n);
 s:=0;
 for i:= 1 to 2*n do
  begin
   a[i]:=i;
   b[i]:=i;
  end;
 repeat
  for i:= 1 to n do
  begin
   b[2*i]:=a[i];
   b[2*i-1]:=a[n+i];
  end;
   for i:= 1 to 2*n do   a[i]:=b[i];
   s:=s+1;

   if a[1]=1 then jg:=true else jg:=false;
  until jg;
  writeln(s);
  end.
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

完美洗牌问题(打乱数组间各元素的顺序)

除了前一篇的完美洗牌问题,还有一种洗牌,就是乱序(shuffle)的问题,将54张有序的扑克牌的顺序打乱,实现洗牌操作。局部洗牌法1。随机产生一个1-n的数x,做为第一张牌。 2。随机产生一个1-(...

完美洗牌问题(数组间数据有规律的交叉)

题目详情:有个长度为2n的数组{a1,a2,a3,…,an,b1,b2,b3,…,bn},希望排序后{a1,b1,a2,b2,….,an,bn},请考虑有无时间复杂度o(n),空间复杂度0(1)的解法...

hdu 1210 追踪法求解洗牌问题

网上搜的。。。 证明: 定理1:当第一张牌(牌1)回到初始位置时,所有的牌都回到了初始位置。 证明:设有一次操作,某牌在操作前处于位置r(1 将两个式子综合,可以得到r'= (r*2)%(...

洗牌问题 FZU - 1062 (传说中的思路题,hhh)

设2n张牌分别标记为1, 2, …, n, n+1, …, 2n,初始时这2n张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成n+1, 1, n+2, 2, …, 2n, n。即前n张牌被放...

FZU 1062 洗牌问题(打表找规律)

洗牌问题Problem Description设2n张牌分别标记为1, 2, …, n, n+1, …, 2n,初始时这2n张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成n+1, 1, n...

【编程之法】2.9 完美洗牌问题

经典完美洗牌问题 样例输入 10 1 2 3 4 5 6 7 8 9 10 样例输出 Perfect Shuffle:6 1 7 2 8 3 9 4 10 5

FZU1062 洗牌问题(找规律)

题目:  Problem 1062 洗牌问题 Accept: 1144    Submit: 2324 Time Limit: 1000 mSec    Memory Limit :...

HDU-洗牌问题

问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:card.cpp *作 者:单昕昕 *...

hdu1210Eddy's 洗牌问题 和 hdu 1209 Ignatius and the Princess IV 和hdu 1273漫步森林

hdu1210Eddy's 洗牌问题 //求交叉换位循环最后和原串相同的次数 #include #include #include using namespace std; int mai...

完美洗牌问题

 完美洗牌问题: (一)有长度为2n的数组{a1,a2...an,b1,b2...bn},希望排序后为{a1,b1,a2,b2...an,bn},希望时间复杂度为O(n),空间复杂度为O(1)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)