2014-05-08 46 views
0

以下是我認爲迄今爲止對陣列中的2個元素起作用的內容。 數組中的元素是要插入連續分數的變量。續分數求解

double continuedFraction(int a[], int size) 
{ 
    double fraction = a[0]; 

    for(int i = 1; i < size; i++) 
    { 
     fraction += (double)1/(double)a[i]; 
    } 

    return fraction; 
} 

btw我沒有使用遞歸我需要能夠得到持續的分數結果。

+0

我相信它不應該太難我真的不能想象這一點。我非常感謝任何人的指導。 – What

回答

0

對於第一次迭代,您會得到(a0 + 1/a1)。在進一步的迭代中,您的代碼會一直添加給定數字的倒數,即(a0 + 1/a1)+(1/a2)+(1/a3)+ ...

您理想情況下需要的是+。 .. 1 /(A2 + 1 /(A1 + 1/A0))...)

double continuedFraction(int a[], int size) 
{ 
    double fraction = a[0]; 

    for(int i = 1; i < size; i++) 
    { 
     fraction = a[i] + (1/fraction); 
    } 

    return fraction; 
} 

如果你想周圍的其他方法,A0 + 1 /(A1 + 1 /(A2 + 1/a3 + ...))...) 你可以從array_size-1運行循環到0

+0

謝謝!你現在開悟了我,每當我有機會我愛你時,我都在想着你所有的要點 – What