TAOCP 1 2 2 25 習題25的證明

2022-08-30 04:39:11 字數 483 閱讀 4088

參考原文:

基本思想是將x表示為乘積:$x=\prod$

其中,$a_i \ge a_ > 1$,如此一來,有:

$\log_b=\sum\log_b$

每次執行到l4,我們都得到了乙個最小的k,使得針對本次迭代的輸入x,有:

$\fracx \ge 1$

$x\geq\frac > 1$

取$a_1 = 2^k / (2^k - 1)$,則:

$x=a_1x'$

$x'=\fracx$

x'將作為新的x進入下一次迭代。

附加說明一下,k的值是累加的,沒有在新的迭代中重新設為1。這意味著對$x''$的尋找是從$(2^k - 1 / 2^k)x'$開始的,而不是x/2。

這是合理的,因為$x'$的最大因子必然小於等於x的最大因子$a_1$:

$\frac}-1}\le\frac$

從而有$k' \ge k$,所以新的迭代開始時,k保留原值就可以了。

TAOCP 1 2 1 8 習題8的證明

a 首先要把要證明的東西泛化,記 n 3 f n 通過觀察n 3時的取值,1,3,5,7,9,11,13,f 3 是前6個奇數的和減去前3個奇數的和。f n 就是前n n 1 2個奇數的和,減去前 n 1 n 2個奇數的和。求前k個奇數的和比較簡單,1 2k 1 k 2 k 2 這也是本節eq 2 ...

PTA 習題2 5 兩個有序鍊錶序列的合併

習題2.5 兩個有序鍊錶序列的合併 題目要求 本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。介面 list merge list l1,list l2 l1和l2是給定的帶頭結點的單鏈表,其結點儲存的資料是遞增有序的 函式merge要將l1和l2合併為乙個非遞減的整數...

習題2 5 兩個有序鍊錶序列的合併 15分

本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。list merge list l1,list l2 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型...