コーディングテスト

(1) 4種類のアルファベット "A,C,G,T" から成る3文字の文字列を全て列挙するプログラムを書きなさい。ただし、文字列内に同じアルファベットが出現しても構わないものとし、出力順序は問わないものとします。

修正)コーディングテスト 例題を解いてみた より、塩基配列を生成する問題?

あと出しジャンケンっぽくてアレですが、再帰を使うといいわけですね。なるほど。

<?php
function baseSequence($n, $seq = '') {
    if ($n == 0) {
        echo $seq, "\n";
        return;
    }
    $bases = array('A', 'C', 'G', 'T');
    foreach ($bases as $base) {
        baseSequence($n - 1, $seq . $base);
    }
}
baseSequence(3);