我正在教導自己AP計算機科學A在教科書,YouTube和在線發現的工作表的幫助下。其中一個工作表是在遞歸中,並要求我將下面的代碼轉換爲遞歸,但是,教科書或YouTube都不能解釋如何從迭代轉換爲遞歸。將迭代轉換爲遞歸
public static int iterative(int x){
int count=0;
int factor=2;
while(factor<x){
if(x%factor==0)
count++;
factor++;
}
return count;
}
下面的代碼是我的嘗試,但我不斷收到一個StackOverFlowError。
public static int recursion(int x){
int count=0;
int factor=2;
if(factor>x)
return count;
else if(x%factor==0){
factor++;
count++;
}
return count + (recursion(x));
}
有人可以請解釋如何從迭代轉換爲遞歸嗎?謝謝。
很高興看到你的問題在這裏受到好評。添加嘗試是一個很好的接觸。 – CandiedOrange