文章
25
粉丝
364
获赞
8
访问
219.0k
#include <stdio.h>
#include <stdlib.h>
int caculation(int root,int n);
int caculation(int root,int n)
{
if (root>n)
{
return 0;//当前节点不存在(边界)
}
else if (root==n)
{
return 1;//当前节点是最后一个节点(边界)
}
else
{
return caculation(2*root,n)+caculation(2*root+1,n)+1;//返回当前子树包含节点数
}
}
int main()
{
int m,n;
while (scanf("%d%d",&m,&n)!=EOF)
{
printf("%d\n",caculation(m,n));
}
//system("pause");
return 0;
}
登录后发布评论
暂无评论,来抢沙发