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

二叉树

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

全部评论

相关推荐

每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务