この質問がだまされないことを願っています。ほとんどの質問は、1 つのステートメントで複数の再帰呼び出しを参照しているようreturn func(n - 1) * func(n - 2)
です。if/else
私の質問には、ステートメント内の複数の再帰呼び出しが含まれます。これは私が持っているものです(Project Eulerの問題を行うことから):
def multOfThreeAndFive(n: Double): Double = {
def loop(next: Double, acc: Double): Double = {
if (next < 0) acc
else if (next % 3 == 0 || next % 5 == 0) loop(next - 1, acc + next)
else loop(next - 1, acc)
}
loop(n - 1, 0)
}
私の質問は、私は 2 つの別々の再帰呼び出しを行っているので、1 つelse if
は last の内部で、もう 1 つは last の内部で、else
これはまだ末尾再帰と見なされますか?