给你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的值。 Input
每行一个整数N。 Output
输出与之对应的M。 Sample Input20 1 Sample Output20 2 此题模拟能过,但以下简便方法谁能解释下算法原理,懒得看了:program tju1027;var n,x,p:word;begin repeat read(n);n:=n*2+1;x:=1;p:=0; repeat x:=x*2 mod n;inc(p); until x=1; writeln(p); until seekeof;end.