0ならr(road)、そうでないならF(Flight)。min;}};つぎにKの制限を設けたものを書く。val)でビットが立っている数、空路を使った回数をカウントする。それ以降の命令は実行せず始めのループに戻る。再帰法/漸化式つぎに再帰について説明する。再帰法とは関数がその関数自体を呼び出し、処理を行う方法のことだ。「関数が自分を呼び出したら永遠に処理が終わらないのでは」と思う人がいるが、ちゃんと終了の条件を書いているので大丈夫だ。2;}例えばrec(4)と関数を呼び出したとき、となる。ややこしいので、再帰法は漸化式に置き換えて考えると良い。この問題を漸化式にできるか見てみよう。スタートからi市までの最短所要時間をb_iとする。この場合、初項はb_0=0となる。b_iはi市への陸路と空路のうち、かかる時間が短いほうとb_i-1との和である。i市へ通ずる陸路の所要時間である。}};※プログラム上は添字は0から始まるのでroad[i-1]となっている。