カウントダウンの場合は、開始する数字を渡して最初の関数を呼び、
0で終了することにしておくと、その渡した数がループの回数となる。
count down の場合:
回数 = START
<==================
0 START
+----------------------------------------------
START END
====================>
回数 = END-START
count up の場合:
一方、カウントアップの場合、開始と終了の2つの数値を渡す必要がある。
若干ややこしいので、再帰を使ったプログラミングではあまり好まれない。

終了時の値(上の図では END)が決まっていれば、
図のようなプログラムでいい。

終了時の値が決まっていなければ、それを引数で渡すようにするといい。
例では第二引数で渡しており、第二引数は値を変化させずそのまま次に受け渡している。