TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P2413
  • 题目
  • P2413【2013模拟赛第二场】洗牌问题
    限制 : 时间限制 : 20000 MS   空间限制 : 165536 KB
    问题描述

    给你 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,表示有2n 张牌。

    输出格式

    一个整数,表示洗牌次数m。

    样例输入

    样例输入1:
    4
    样例输入2:
    7

    样例输出

    样例输出1:
    6
    样例输出2:
    4

    提示

    对于 n=4,牌的最初顺序是:1 2 3 4 5 6 7 8,经过6 次洗牌会再一次得到最初的顺序:
    第 1 次洗牌得到的顺序:5 1 6 2 7 3 8 4
    第 2 次洗牌得到的顺序:7 5 3 1 8 6 4 2
    第 3 次洗牌得到的顺序:8 7 6 5 4 3 2 1
    第 4 次洗牌得到的顺序:4 8 3 7 2 6 1 5
    第 5 次洗牌得到的顺序:2 4 6 8 1 3 5 7
    第 6 次洗牌得到的顺序:1 2 3 4 5 6 7 8
    【数据范围】
    40%的数据满足:0<n<=1,000
    70%的数据满足: 0<n<=10,000
    100%的数据满足:0<n<=1,000,000