簡單的遞歸

數據規律:1,5,11,19,29,41.....求第10個數和100數的值?函數

公式:編碼

F1=1;spa

F2=F1+2*X;htm

F3=F2+2*X;
遞歸

F4=F3+2*X;
get

F5=F4+2*X;
it


X:表示第幾個數,最後總結出2條公式爲:①F(X)=F(X-1)+2X和②F(1)=1;經驗

第一個公式是遞歸的前進段,第二個公式是遞歸的出口點總結

綜上可編碼:數據

F(X)=sum(int x)

F(1)=return 1

F(X-1)+2X=sum(x-1)+2*x


public static int sum(int x){
  //出口點。x=1
 if (x==1) {
            return 1;
        }else {
            return sum(x-1)+2*x;
        }

}


我的經驗:1.經過數據找出規律

         2.寫公式

 3.根據遞歸的定義:

   (1) 遞歸就是在過程或 函數 裏調用自身;

  (2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱爲遞歸出口。

相關文章
相關標籤/搜索