三つのスタックAABBCCのいずれの初期状態も[1,2,3][1,2,3]であるとき,再帰的に定義された関数f()f()を呼び出して終了した後のBBの状態はどれか。ここで,スタックが[a1,a2,,an1][a_1,a_2,\cdots,a_{n-1}]の状態のときにana_nをpushした後のスタックの状態は[a1,a2,,an1,an][a_1,a_2,\cdots,a_{n-1},a_n]で表す。

f(){
 Aが空ならば{
  何もしない。
 }
 そうでない場合{
  Aからpopした値をCにpushする。
  f()を呼び出す。
  Cからpopした値をBにpushする。
 }
}
出典平成31年度 春期 基本情報技術者試験 午前 問6
[1,2,3,1,2,3][1,2,3,1,2,3]
[1,2,3,3,2,1][1,2,3,3,2,1]
[3,2,1,1,2,3][3,2,1,1,2,3]
[3,2,1,3,2,1][3,2,1,3,2,1]