1. 程式人生 > >遞迴簡單、粗暴

遞迴簡單、粗暴

遞迴

a、要給一個出口負責結束當前的遞迴
b、迴圈次數不能太多,否則佔用的記憶體過多,宕機

條件

死迴圈:1.自己呼叫自己(方法)  2.方法之間相互呼叫
class recursion{
	static int sum = 0;
	static int i=0;
	public static void run(){
		sum+=i;
		System.out.println(sum);
		if (i++ == 100) {		//限制
			return;
		}
		run();	//自己調自己
	}
}

例項

public class Demo11 {
	public static void main
(String[] args) { /* *遞迴例項:求1-10之間的所有偶數的積與所有奇數的積的差 */ int value = getValue(); System.out.println(value); } static int jishuji = 1,oushuji = 1,i=1; public static int getValue(){ //求偶數的積 if (i%2==0) { oushuji*=i; } //求奇數的積 if (i%2!=0) { jishuji*=i; } //得到差值 if (i++ == 10) { return
oushuji-jishuji; } //自己呼叫自己 int a = getValue(); return a; } }

遞迴演算法

public static int add(int num) {
		if (num == 1) {
			return 1;
		}
		return num+add(num-1);	//返回mum+(num-)的合
	}