题解 | #二叉树# 用递归加分治解决,左子树加右子树

二叉树

https://www.nowcoder.com/practice/f74c7506538b44399f2849eba2f050b5

#include <iostream>

#include "cstdio"

int pointNum(int m, int n) {
    if (2 * m + 1 <= n)
        return pointNum(2 * m, n) + pointNum(2 * m + 1, n) + 1;
    else if (2 * m <= n)
        return pointNum(2 * m, n) + 1;
    else
        return 1;


}

int main() {
    int n, m;
    while (scanf("%d %d", &m, &n) != EOF) {
        if (m == 0 && n == 0)
            break;
        printf("%d\n", pointNum(m, n));


    }


    return 0;
}

全部评论

相关推荐

尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务