>>17
まったくわかってない
再帰は手続き型言語でも普通に使うし
対象が数学的関数なら手続き型言語で書いたって副作用はない


int fib(int n) {
 return n < 2 ? n : fib(n-1) + fib(n-2);
}