博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单递归练习
阅读量:4553 次
发布时间:2019-06-08

本文共 1428 字,大约阅读时间需要 4 分钟。

import java.util.ArrayList;import java.util.List;/** * Created by itworker365 on 5/10/2017. */public class digui {    public static void main (String[] args) {        List
list = new ArrayList
(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); System.out.println(recursive(list, list.size() - 1)); hanoi(3); } public static int recursive (List
list, int pos) { if (pos >= 2) { int sum = list.get(pos) + list.get(pos - 1); return sum + recursive(list, pos - 2); } else if (pos == 1) { return list.get(pos) + list.get(pos - 1); } else if (pos == 0) { return list.get(pos); } else { return 0; } } //汉诺塔问题,大小交叠的盘子如何用3个柱子轮换,如果只有一个直接换,两个借助中间柱子中转,再多就直接将n-1看成一块递归计算 private static void hanoi (int n) { hanoiLogic(n, "A", "B", "C"); } private static void hanoiLogic (int n, String A, String B, String C) { if (n == 1) { move(n, A, C); } else { hanoiLogic(n - 1, A, C, B); move(n, A, C); hanoiLogic(n - 1, B, A, C); } } private static void move (int n, String from, String to) { System.out.println("move from " + from + " to: " + to); }}

 

转载于:https://www.cnblogs.com/it-worker365/p/6834533.html

你可能感兴趣的文章
ubuntu12.04 lts 安装gcc 4.8
查看>>
检查字符串结尾 判断一个字符串(str)是否以指定的字符串(target)结尾。
查看>>
JavaSE学习笔记(五)—— 数组
查看>>
通过java.util.concurrent写多线程程序
查看>>
linux apt-get 源配置
查看>>
排序中文POJ 1696/hrbustoj 1318 几何 蛋疼的蚂蚁
查看>>
序数序列hdu 1394
查看>>
could not initialize proxy - no Session 问题分析
查看>>
Python数据类型Day02
查看>>
.NET Core WebAPI IIS 部署问题
查看>>
SystemTap 静态探针安装包
查看>>
minGW cygwin gnuwin32
查看>>
韩国 DBA 博客
查看>>
systemtap and postgrel
查看>>
RESTful levels & HATEOAS
查看>>
DEV 常用属性大全
查看>>
Spring的历史和哲学
查看>>
C# 字符串处理小工具
查看>>
研究显示云计算减少了管理安全性的时间和费用
查看>>
如何为您使用Windows Azure的应用程序评估成本
查看>>