我有遞歸函數:從遞歸進行迭代
public static int fRek(int n) {
if (n <= 0)
return 1;
else if (n == 1)
return 2;
else
return 3 * fRek(n-2)-3;
}
問題:我怎麼能寫在迭代?循環? 我有這樣的:
public static int fIter(int a) {
int b = 1 ;
if (a <= 0) return 1;
else if (a == 1) return 2;
for (int i = 1; i <= a; i = i+2) {
b = b * 3;
b = b - 3;
}
return b;
}
}
但它適用於只是連號:A = 4,6,8,... 爲奇數它不正常工作,我不知道爲什麼
試一下吧。如果你發現任何問題回來並描述它們。 – broncoAbierto