快速的方法來快速計算斐波那契數,使用矩陣屬性戰略理解的代碼,我不能讓
Divide_Conquer_Fib(n) {
i = h = 1;
j = k = 0;
while (n > 0) {
if (n%2 == 1) { // if n is odd
t = j*h;
j = i*h + j*k + t;
i = i*k + t;
}
t = h*h;
h = 2*k*h + t;
k = k*k + t;
n = (int) n/2;
}
return j;
}
我如何理解這段代碼?你的戰略是什麼?你會寫很多打印語句來查看變量的狀態是如何變化的? 瞭解各種開發人員的想法對理解這些代碼非常重要。
我會看到它是如何表現爲1,2,3,2n,2n + 1,因爲此算法適用於偶數和奇數。我會用紙和筆代替printf – Jekyll
我會拿一張紙和「使用我的鉛筆運行該功能」,這是一個非常簡單的案例 – JoeC
這個問題似乎是無關緊要的,因爲它要求程序員的意見,而且指出瞭解各種開發者的想法對於理解這些代碼是非常重要的,「這對於這個站點來說是非常偏離主題的。 –