1
我正在學習C編程語言,並且在寫出Stern-Brocot樹中所需元素的完整路徑時遇到了麻煩。 它只寫出路徑的第一個數字。 我已經設置它寫出0時,左側,1右側時寫道。無論我選擇什麼樣的數字,它可能在3日或15日的水平,它仍然只寫出第一個數字。C編程 - 斯特恩 - 布羅科特樹路徑查找器
這裏是while循環:
while ((p1+p2!=p) && (q1+q2)!=q) {
if ((p1+p2)/(q1+q2)<p/q) {
printf("1 ");
p1+=p2;
q1+=q2;
} else if (((p1+p2)/(q1+q2)>p/q)) {
printf("0 ");
p2+=p1;
q2+=q1;
}
}
我忘了補充:最初的p1和p2是數字,q1和q2是分母。 p1/q1,p2/q2。初始值:p1 = q2 = 0和p2 = q1 = 1. p/q是我們正在尋找的給定分數 – Maniak 2014-09-27 12:45:43
您正在進行整數比較。我不確定這是否是你想要的。 – fuz 2014-09-27 12:47:36
另外,你能告訴我們其他代碼嗎? – fuz 2014-09-27 12:48:00