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

二叉树

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;
}

全部评论

相关推荐

头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务