主题:13张扑克
我是严天雯
[专家分:110] 发布于 2006-12-08 18:21:00
魔术师将一迭13张扑克面朝下,翻开第一张为A,将第一张放在桌子上,将后一张
放到这迭牌的最下面,翻开下一张是2,把2放在桌子上,然后依次数出2张放到最底面
下一张是3,……,最后一张是K,编程输出这迭牌原先顺序
回复列表 (共5个回复)
沙发
zhangyuan [专家分:630] 发布于 2006-12-08 18:22:00
program pai;
var
a:array[1..13] of integer;
m,n,t,i,j:integer;
begin
a[1]:=1;//只要不是0就代表以经翻出去了的牌,以后就不对它作处理了.
for i:= 2 to 13 do a[i]:=0;//初使化后面还没有翻的牌
t:=0;
for i:= 2 to 13 do
begin
n:=0;//n是数的牌数
repeat
t:=t+1;
if t=14 then t:=1;//一共只有13张牌呀~数完了又倒回来数(不管牌怎么往后放,从左到右牌的顺序是不变的~所以不用考虑牌往后放的问题)
if a[t]=0 then n:=n+1//判断是否以经翻开,没翻就数牌
until n=i;//当数到i了
a[t]:=i;//写入现在翻开的是几
end;
for j:= 1 to 13 do
write(a[j]:4);
end.
板凳
zhang990 [专家分:60] 发布于 2007-09-09 17:01:00
答案:
1 8 2 5 10 3 12 11 9 4 7 6 13
3 楼
Matodied [专家分:7560] 发布于 2007-09-09 20:32:00
LZ不就是去年年底在PASCAL论坛上和那个sss333一起捣乱的吗?人家斑竹都举报过你的。
4 楼
abcwuhang [专家分:1840] 发布于 2007-09-09 20:50:00
!
5 楼
sss333 [专家分:340] 发布于 2008-02-15 19:30:00
额
我来回复