08/10/24 16:05:49
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
トランプを切る方法の1つとして、トランプを2つにわけて両手でぱらぱらと切る方法がある。
今、トランプは、ジョーカーを除いた52枚とする。もし、切り方のうまい人がいて、トランプ
を正しく半分(26枚)にして、かつ交互に1枚ずつ切れるとする。
この方法では、何回か行うと元に戻ることが知られている。さて、何回で元に戻るでしょうか。
これを計算するプログラムを作成してください。
与えられたヒント
52個の要素をもつ配列P,Qを用意します。最初は、Pi←i+1(i=0,2,3,…,51)とデータをセットします。
そして、Q2i←Pi(i=0,1,2,…,25)およびQ 2(i-26)+1←Pi(i=26,27,…,51)を行う。もし、Qの要素が
1,2,3,…,52になっていたら終了であるが、そうでなければ、P←Qを行い、同じ手順を繰り返す。
[3] 環境
[3.1] OS: Windows (cygwin使用)
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 10月27日18:00時まで
[5] その他の制限: for文かwhile文でお願いします