斐波那契(递归与非递归)

递归

long jumpFloor(int number) {
    if(number <= 0)
        return 0;
    else if(number == 1 )
        return 1;
    return  jumpFloor(number-1)+jumpFloor(number-2);
}

非递归

long jumpF(int number) {
    int result[2] = {0,1};
    if(number < 2)
        return result[number];
    long long  sum = 0;
    long long tmpOne = 1;
    long long tmpTwo = 0;
    for(unsigned int i = 2; i <= number; i++)
    {
        sum = tmpOne + tmpTwo;
        tmpTwo = tmpOne;
        tmpOne = sum;
    }
    return sum;
}

猜你喜欢

转载自blog.csdn.net/feixi7358/article/details/82898817