题目描述
给你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.