數壹張牌,翻過來正好是A,放在桌上,第二次兩張牌,把數到1的牌放在手裏。
下面,數字為2的牌正好是2,也放在桌子上。再數三張牌,依次把數字1和2。
第壹張牌放在手牌下面,第三張牌翻過來是3,還在桌上。繼續這樣做
壹直走,直到妳手裏的13牌全部翻完。這時候桌上的牌的順序剛好是:A,2,3,4。
,5,…,J,Q,K .請編程找出魔術師手中13張牌的原始順序。
【解析】可以看作是每次轉I牌前,將i-1牌移到牌底,轉另壹張牌就是牌I..
var i,j,k,t,n:整數;
答:數組[1..50]的整數;
開始
寫(' N = ');readln(n);
a[n]:= 1;
for i:=n-1 downto 1 do
開始
a[I]:= 1;
對於j:=i+1到n do Inc(a[j]);
對於j:=1至i-1 do
開始
t:= a[n];
move(a[i],a[i+1],(n-I)* sizeof(a[1]);
a[I]:= t;
結束;
結束;
對於i:=1到n做寫(a[i],' ');
writeln
結束。