カードの並べ替え

 投稿者:山中和義  投稿日:2015年 3月18日(水)13時05分17秒
  問題
1から13までのトランプのカードがあります。
この13枚のカードは順番に並んでいませんので、並べ替えてください。



DATA 10, 5, 13, 11, 9, 3, 6, 1, 4, 7, 2, 8, 12
!DATA 8, 5, 12, 3, 11, 13, 6, 10, 1, 4, 7, 2, 9
DIM A(13)
MAT READ A
LET S=0 !既に並んでいるカードの枚数
LET P=1
DO
   PRINT P
   LET T=A(P) !p番目のカードの番号
   IF T=P THEN
      LET S=S+1
      IF S=13 THEN EXIT DO !すべて昇順に並んだ
   ELSE
      LET A(P)=A(T) !既定位置へ移動させる
      LET A(T)=T
      MAT PRINT A; !進捗状況
   END IF

   LET P=P+1 !次の位置へ
   IF P>13 THEN LET P=1
LOOP
END


実行結果

1
7  5  13  11  9  3  6  1  4  10  2  8  12

2
7  9  13  11  5  3  6  1  4  10  2  8  12

3
7  9  12  11  5  3  6  1  4  10  2  8  13

4
7  9  12  2  5  3  6  1  4  10  11  8  13

5
6
7  9  3  2  5  12  6  1  4  10  11  8  13

7
7  9  3  2  5  6  12  1  4  10  11  8  13

8
1  9  3  2  5  6  12  7  4  10  11  8  13

9
1  9  3  4  5  6  12  7  2  10  11  8  13

10
11
12
1  9  3  4  5  6  12  8  2  10  11  7  13

13
1
2
1  2  3  4  5  6  12  8  9  10  11  7  13

3
4
5
6
7
1  2  3  4  5  6  7  8  9  10  11  12  13

8
9
10
11


 

戻る