问题 B: 二叉树1

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:965 通过:467

题目描述

在树及二叉树中有如下定义。
叶子节点:没有子节点的节点。
非叶节点:有子节点的节点。
节点的层次:根节点的层次为1,每个节点的层次为其父节点层次加1。
树的高度:所有节点的最大层次。
二叉树:每个节点都有两个子节点(可能为空)的树,每一个子节点都区分为左子节点和右子节点。
满二叉树:第1层有2^0=1个节点(即根节点)、第2层有2^1=2个节点、…、第i+1层有2^i个节点的二叉树。也就是说,在完全二叉树中,最后一层的节点都是叶节点,其他层次的节点都是非叶节点、且都有两个子节点。
完全二叉树:如果有一棵具有n个节点、高度为k的二叉树,它的每一个节点都与高度为k的完美二叉树中编号为1~n的节点一一对应,则称为完全二叉树。
如下面两个图分别描述了高度为4的二叉树,以及具有12个节点的满二叉树。
在本题中,给定完全二叉树的节点树n,要求输出完全二叉树的高度k、叶子节点个数n0和非叶节点个数n2。



输入格式

输入文件中包含多个测试数据。每个测试数据占一行,为一个自然数n,n≤1000。输入文件最后一行为0,表示输入结束。

输出格式

对输入文件中的每个测试数据,计算k、n0和n2并输出。

输入样例 复制

12
0

输出样例 复制

4 6 6

分类标签