刘大 发表于 2016-10-16 15:45:17

一个需要用到递归的函数,新手完全懵逼,求指教

就这个题谢谢谢谢~希望能给个思路点播一下~

刘大 发表于 2016-10-16 16:23:57

求解答~~{:10_266:}{:10_266:}

人造人 发表于 2016-10-16 18:12:00

不知道这样行不行,反正两组自测数据都成立
#include <stdio.h>

int fun(int x)
{
        if(x < 3)
        {
                return x;
        }

        if(x % 3 == 0)
        {
                return fun(x / 3) * 2;
        }
        if(x % 3 == 1)
        {
                return fun((x - 1) / 3) + 1;
        }
        if(x % 3 == 2)
        {
                return fun((x - 2) / 3) + 2;
        }


}

int main()
{
        printf("%d\n", fun(2));
        printf("%d\n", fun(100000));

        return 0;
}

刘大 发表于 2016-10-17 19:56:35

人造人 发表于 2016-10-16 18:12
不知道这样行不行,反正两组自测数据都成立

对了对了谢谢谢谢!!
页: [1]
查看完整版本: 一个需要用到递归的函数,新手完全懵逼,求指教