У меня есть следующий код
object TailRec
{
def func1(n:Int) : Int =
{
if (n < 10)
func2(n)
else
func1(n/10) + func2(n % 10)
}
def func2(n: Int) : Int =
{
@tailrec def _func2(n: Int, result: Int): Int =
{
if (n <= 1)
result
else
_func2(n-1,n*result)
}
_func2(n,1)
}
def test(n: Int) : Boolean =
{
if (n > 2)
n == func1(n)
else
false
}
}
Мне удалось переписать func2, но я не совсем уверен, как преобразовать функцию bool.Я думал о совпадении и кейсе, но мне все еще нужно вызвать func1, чтобы получить результат для сравнения.Другая проблема заключается в том, как разбить двойной вызов функции в самом func1.Есть намеки?