题解 | #二叉树#
二叉树
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; }