當前位置:編程學習大全網 - 編程軟體 - 編程魔法

編程魔法

魔術師翻牌:魔術師預先在撲克中排列13黑桃,將牌面朝下放在手中。第壹次

數壹張牌,翻過來正好是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

結束。

  • 上一篇:mastercam x9怎麽設置變化位置?
  • 下一篇:shell腳本中數組元素之間用分號間隔正確嘛
  • copyright 2024編程學習大全網