题解 | #二叉树#
二叉树
https://www.nowcoder.com/practice/f74c7506538b44399f2849eba2f050b5
#include <iostream>
using namespace std;
int n,m;
int f(int m){
if(m>n) return 0;
if(2*m>n && 2*m+1>n) return 1;
return f(2*m)+f(2*m+1)+1;
}
int main() {
//二叉树最后一个结点是n, 现输出以m为根的子树中含有的结点总数.
while(cin>>m>>n){
cout<<f(m)<<endl;
}
return 0;
}

查看5道真题和解析