java中的方法递归
JAVA中的方法递归 递归的思路代码举例一、递归的思路
一个方法在执行时,调用自身被称为"递归"。
递归相当于数学归纳法,有一个起始条件,有一个递推公式。
递归可以分为:单路递归和多路递归(如二叉树和斐波那契数列)。 二、代码举例
1、n的阶乘 //n的阶乘 public static int fac(int num){ if(num == 1){ return 1; } return num * fac(num-1); } public static void main(String[] args) { int n = 5; System.out.println("result = " + fac(n)); } 123456789101112
运行结果
2、按照顺序打印一个数字的每一位 //按照顺序打印一个数字的每一位 public static void print(int n){ if( n > 9 ){ print( n / 10); } System.out.print( n % 10 ); } public static void main(String[] args) { print(12345); } 1234567891011
运行结果
3、输入一个非负整数,返回组成他的数字之和,如输入1729,则返回1+7+2+9=19 public static int sum(int n){ if(n < 10){ return n; } return n %10 + sum( n/10 ); } public static void main(String[] args) { int n = 525615; int ret = sum( n); System.out.println("the sum of "+n +" = "+ ret); } 123456789101112
运行结果
4、求斐波那契数列的第n项
斐波那契数列:1 1 2 3 5 8 13 public static int fib(int n){ if(n == 1 || n == 2){ return 1; } return fib(n - 1) + fib(n - 2 ); } public static void main(String[] args) { System.out.println(fib(10)); } 123456789
运行结果
**注意:当n的值越来越大时,程序运行的速度很慢,原因是进行了大量的重复运算。所以对于斐波那契数列,一般采用迭代的代码版本。 public static int fib(int n){ int n1 = 1; int n2 = 1; int num = 0; for( int i=3; i<=n ;i++){ num = n1 + n2; n1 = n2; n2 = num; } return num; } public static void main(String[] args) { System.out.println(fib(10)); } 1234567891011121314
运行结果
需要注意的是,如果编译时出现以下错误,说明栈溢出,要仔细检查代码的终止条件是否没有写或者写错。
想要了解更多关于java内容,官方技术交流群:487098661,让你快速掌握java从入门到精通实战技能。
老北京风味风光行走在北京老城,用镜头记录老北京的风味,古建筑的美令人喜欢。长廊中山公园保卫和平牌坊北京老街习礼亭中山堂南锣鼓巷主题老北京风味器材华为P20Pro(图23489)和索尼A7R3后期
华为MatePadPro平板夜阑灰,来一组开箱照华为MatePadPro拿到手了,替换了以前的M5Pro,平行视界多屏协同真香!支持了一台华为MatePadPro平板,来一组开箱照。自研麒麟990芯片,10。8寸超窄边框高屏占比
惠州丰渚园风貌丰渚园作为西湖美化亮化工程的一个重要组成部分,致力打造成继梁园可园余荫园和清晖园之后的广东第五大名园。园内29个单体建筑采用岭南传统建筑风格,融合惠州民居院落特色,粉墙黛瓦,古朴素
北京北海公园风光北海公园(BeihaiPark),位于北京市中心区,城内景山西侧,在故宫的西北面,与中海南海合称三海。属于中国古代皇家园林。全园以北海为中心,面积约71公顷,水面占583市亩,陆地
北京奥林匹克公园风光北京奥林匹克公园位于北京市朝阳区,地处北京城中轴线北端,北至清河南岸,南至北土城路,东至安立路和北辰东路,西至林翠路和北辰西路,总占地面积11。59平方千米,集中体现了科技绿色人文
静态体验福特MustangMachE,内饰直接大改,用电的马还能野么?说起福特品牌,你第一个会想起哪台车呢?很多人会说起福特野马,这辆入门级的跑车在全球各地都深得车友们的认可。而在电动化时代到来的现在,福特也开始改变路线,福特电动车开始出现,作为当家
北京颐和园,园林风光颐和园,中国清朝时期皇家园林,前身为清漪园,坐落在北京西郊,距城区15公里,占地约290公顷,与圆明园毗邻。它是以昆明湖万寿山为基址,以杭州西湖为蓝本,汲取江南园林的设计手法而建成
北京八达岭长城风光八达岭长城,位于北京市延庆区军都山关沟古道北口。是中国古代伟大的防御工程万里长城的重要组成部分,是明长城的一个隘口。八达岭长城为居庸关的重要前哨,古称居庸之险不在关而在八达岭。明长
北京景山上俯瞰风光景山公园位于北京市西城区景山前街,坐落在明清北京城的中轴线上,西临北海,南与故宫神武门隔街相望,是明清两代的御苑。公园中心的景山为堆土而成,曾是全城的制高点。景山公园1928年建园
深圳大学城风貌深圳大学城(UniversityTownofShenzhen)位于广东省深圳市南山区东北部(西丽塘朗片区),紧邻深圳野生动物园,距离深圳市高新技术产业园区约10公里,总体规划建设面
果然不坑穷人!奔驰G350即将涨价,售价将上调至161。88万元近日,车图腾从相关渠道获悉,奔驰G350或将涨价,未来的售价将从现在的142。98万上调至161。88万。据悉,新车还将对配置进行升级。从终端市场来说,奔驰G350提车一直存在加价