栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用java实现几个简单的递归题目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用java实现几个简单的递归题目

public class Recursion {
	public static void main(String[] args) {
		Recursion re = new Recursion();
		
		//例题1 1到100内数的总和
		int value = re.getSum(100);
		System.out.println(value);
		
		//例题2 1到100内数的乘积:n!
		int value1 = re.getCheng(5);
		System.out.println(value1);
		
		//例题3 已知数列f(0) = 1,f(1) = 4,f(n+2) = 2*f(n+1) + f(n);求f(10);	
		int value2 = re.f(10);
		System.out.println(value2);
		
		//例题4 斐波那契数列 1 1 2 3 5 8 ... f(n) = f(n-1) + f(n-2);
		int value3 = re.ff(5);
		System.out.println(value3);
		
	}
	
	
	public int getSum(int n) {
			if(n == 1) {
				return 1;
			}else {
				return (n + getSum(n-1));
			}
	}
	
	public int getCheng(int n) {
		if(n == 1) {
			return 1;
		}else {
			return n * getCheng(n-1);
		}
	}
	
	public int f(int n) {
		if(n == 0) {
			return 1;
		}else if(n == 1) {
			return 4;
		}else {//必须向着已知的走将n+2看成N即可
			return  2 * f(n-1) + f(n-2);
		}
	}
	
	public int ff(int n) {
		if(n == 1 || n == 2) {
			return 1;
		}else {
			return ff(n-1) + ff(n-2);
		}
	}
}

运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777089.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号