问题标题: 7744

0
0
已解决
胡景轩
胡景轩
资深守护
资深守护

已知有 n 个人参加了一个闯关游戏有无限个关卡,每关卡结束后都有两条路通往各自的下一关卡,如果在该关卡结束后这些人可以分成两部分,并且两部分的人数相差 m ,则会分成两部分分别走两条路通往各自的下一关卡,否则,这些人就结束闯关,请你求出最终有多少部分人结束闯关。


1
已采纳
崔子周
崔子周
高级天翼
高级天翼

递归条件:

int f(int n){
    if(n<=m) return 1;
    int tmp=m+n;
    if(tmp%2==0){
        return f((m+n)/2)+f(n-(m+n)/2);
    }else{
        return 1;
    }
}

然后按照题目输入输出就行

调用函数f(n)

0
我要回答