题目1113:二叉树
2014-02-23 16:38
253 查看
// 这虽然是二叉树,但是直接用公式求更简单些!
#include<stdio.h>
#include<cmath>
int main()
{
long long n,m,left,count;
while(scanf("%lld%lld",&m,&n)!=EOF && m!=0 && n!=0){
long long count=0;
int i=0;
left=m;
while(m<=n){
count+=int(pow(2.0,i++)); // 新增结点数
m=m*2+1; // 求左子树最大可达到的值
left*=2; // 求左子树最小可达到的值
}
while(left<=n){ // 求又子树最大值和左子树最大值的差值
count++; left++;
}
printf("%lld\n",count);
}
return 0;
}
#include<stdio.h>
#include<cmath>
int main()
{
long long n,m,left,count;
while(scanf("%lld%lld",&m,&n)!=EOF && m!=0 && n!=0){
long long count=0;
int i=0;
left=m;
while(m<=n){
count+=int(pow(2.0,i++)); // 新增结点数
m=m*2+1; // 求左子树最大可达到的值
left*=2; // 求左子树最小可达到的值
}
while(left<=n){ // 求又子树最大值和左子树最大值的差值
count++; left++;
}
printf("%lld\n",count);
}
return 0;
}
相关文章推荐
- 九度OJ题目1113:二叉树
- (题目33)题目1113:二叉树
- 题目1113:二叉树
- 九度Oj题目1113:二叉树
- 题目1113:二叉树
- 九度OnlineJudge题目1113:二叉树
- 题目1113:二叉树 九度OJ
- 题目1113:二叉树
- 题目1113:二叉树
- 题目1113:二叉树
- 题目1113:二叉树
- 题目1113:二叉树 (计算某个结点的子结点个数)
- 题目1113:二叉树
- 题目1113:二叉树(二叉树结点问题)
- 【九度OJ】题目1113:二叉树 解题报告
- 题目1113:二叉树
- 33-题目1113:二叉树
- 题目1113:二叉树
- 九度题目1113:二叉树 2007年北京大学计算机研究生机试真题
- 九度 题目1113:二叉树