題目描述:
如上所示,由正整數1,2,3……組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。
比如,n = 12,m = 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹中共有4個結點。
輸入:輸入資料報括多行,每行給出一組測試資料,包括兩個整數m,n (1 <= m <= n <= 1000000000)。最後一組測試資料中包括兩個0,表示輸入的結束,這組資料不用處理。
輸出:對於每一組測試資料,輸出一行,該行包含乙個整數,給出結點m所在子樹中包括的結點的數目。
樣例輸入:
3 12
0 0樣例輸出:
4
#include int main(void)if (left <= n)
cnt += (n-left+1);
printf ("%d\n", cnt);
}return 0;
}
九度OJ 1113 二叉樹
題目1113 二叉樹 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 2599 解決 778 題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13...
九度OJ 1113 二叉樹
做本題的時候,第一次用思路最簡單但是時空複雜度較差的遞迴去遍歷其子樹,結果tle。於是乎只能改用數學計算的方法,去逐層累加。故本題實際上考察點是 完全二叉樹節點個數的計算 題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子...
九度OJ1184二叉樹
題目描述 編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入 輸入包括1行字串,長度不超過100。輸出 可能有多組測...