JAVA经典例题一百道,待更新呢。。。。。

文章目录

  • 递归算法
    • 1.求1~50的和
    • 2.猴子偷桃问题

递归算法

绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言(如Scheme)中习惯用递归来实现循环。

1.求1~50的和


static int countsum(int i) {
	if(i==1) {
		return 1;
	}else {
		return i+countsum(i-1);
	}
}
public static void main(String args[]){
int sum=0;
sum = countsum(50);
System.out.println("1+2+3+4+...+50="+sum);
}


2.猴子偷桃问题

有一只猴子,第一天偷了若干桃子,并吃了一半多一个;第二天又吃了昨天剩下的一半多一个;第三天又吃昨天剩下的一半多一个;到十天,还想再吃时,就只剩下一个桃子了。
问:桃子总共有多少?

static int countsum(int day){
	if(day==10){
		return 1;
	}else {
		return (countsum(day+1)+1)*2;
	}
}


public static void main(String args[]){
	System.out.println("猴子共偷了"+countsum(1)+"个桃");
}

你可能感兴趣的:(#,Java,SE)