2013-11-23 126 views
0

林掙扎如何找到可以與交易的動態規劃動態規劃?

+2

我不明白這個問題(甚至是你想解決的問題)是什麼。 –

回答

1

這不是一個完美的解決方案的數量規定限額達到美元的最高金額,但它會爲這個特定問題的工作(我猜我們有同一位教授)。

邏輯是,對於每個V [n] [c]我們希望爲每個貨幣單位找到可能的最高值,爲了做到這一點,我們必須計算6個值中的最大值。

有6個值,因爲有3種貨幣,而且每種貨幣都有兩種可能的方式可以轉換爲目標貨幣。

在這種情況下,因爲只有2個交易所,我只是做兩個陳述而不是另一個循環。這由數組中的0表示:rates [0] [i] [c]

我希望這有助於!

for (int n = 1; n <= numberOfTransactions; n++) { 
     for (int c = 0; c < numberOfcurrencies; c++) { 
      double max = Double.NEGATIVE_INFINITY; 
      double temp; 
      for (int i = 0; i < numberOfcurrencies;i++) { 
       temp = rates[0][i][c]*V[n-1][i]; 
       if (temp > max) 
        max = temp; 
       temp = rates[1][i][c]*V[n-1][i]; 
       if (temp > max) 
        max = temp; 
      } 
      V[n][c] = max; 
     } 
    }