遞歸的方式計算階乘


public class Demo1 {
//一列數的規則如下: 1、1、2、3、5、8、13、21、34…… 求第n位數是多少, 用遞歸算法實現
public static void main(String[] args) {
System.out.println(jiecheng(5)); // 5的階乘(通過階乘體驗一下遞歸算法)
set(8); //使用for循環求出第n位數
System.out.println(foo(8));  //使用遞歸求出第n位數
}

public static int jiecheng(int a) {// 階乘遞歸
if (a == 1) {
return 1;//方法的出口,避免死循環
} else {
return a * jiecheng(a - 1);
}
}

public static void set(int s) {//使用for循環求出第n位數
int a = 1;
int b = 1;
int c = 0;
for (int i = 2; i < s; i++) {
c = b;
b = a + b;
a = c;
System.out.print(b + " ");
}
}

public static int foo(int i) {//使用遞歸求出第n位數
if (i <= 0) {
return 0;
} else if (i > 0 && i <= 2)
return 1;
return foo(i - 1) + foo(i - 2);//??
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM