Recursion 下列递归函数的迭代函数是什么

Recursion 下列递归函数的迭代函数是什么,recursion,iteration,theory,Recursion,Iteration,Theory,我试图使这个递归函数成为一个封闭形式的函数,但似乎无法正确地得到它。我确实得到了一个事实,基本情况应该是n>1,但在这一点之后被卡住了。我想知道你们是否能帮忙 public static int fi(int n){ if(n <=1 ) { return 0; } else { return (int) (1 + Math.floor(n/2)); } } fi()在哪里调用自己?第一个函数看起来不是递归的。 public sta

我试图使这个递归函数成为一个封闭形式的函数,但似乎无法正确地得到它。我确实得到了一个事实,基本情况应该是n>1,但在这一点之后被卡住了。我想知道你们是否能帮忙

public static int fi(int n){
    if(n <=1 ) {
        return 0;
    } else {
        return (int) (1 + Math.floor(n/2));
    }
}
fi()在哪里调用自己?第一个函数看起来不是递归的。
public static int fi(int n){
    int val = 0;
    while(n > 1){
        val +=  (int) Math.floor(n/2);
        n = (int) Math.floor(n/2);
    }
    return val;
}