递归问题:Fibonacci 数列 排列问题
1、Fibonacci 数列:
1.Fibonacc 数列:输出 Fibonacc 数列的前20项,每行输出4项,Fibonacc 数列的计算使用递归函数实现。
1.1 源码:
/*** 1.Fibonacc数列* 输出Fibonacc数列的前20项,每行输出4项,Fibonacc数列的计算使用递归函数实现*/
public class MyFibonacc {static int n = 20;public static void main(String[] args) {System.out.print("斐波拉契数列前20项:");for (int i = 0; i < n; i++) {if (i % 4 == 0){System.out.println();}System.out.printf("%20d",fibonacci(i));}}/*** 递归函数* @param num 传入一个数字* @return*/public static long fibonacci(int num){if ((num) == 0 || (num == 1)){return num;}else{return fibonacci(num-1)+ fibonacci(num - 2);}}
}
1.2 运行结果:
2、排列问题:
2,排列问题(使用递归的方式输出n的全排列),使用 递归函数输出 0~N-1的全排列。
2.1 源码:
import java.util.ArrayList;
import java.util.List;
//import java.util.Scanner;/*** 2,排列问题(使用递归的方式输出n的全排列)* 使用 递归函数输出 0~N-1的全排列*/
public class MyRecursion {static int max = 4;public static void main(String[] args) {List<Integer> list = new ArrayList<Integer>();//控制台输出数字/*System.out.println("请输入整数n: ");Scanner sc = new Scanner(System.in);int max = sc.nextInt();*///往list里面添加元素for (int i = 1; i <= max; i++) {list.add(i);}System.out.println("使用递归输出"+max+"个数的全排列,结果如下:");Permutation(list,0,max-1);}/**** @param list 列表* @param start 从start下标开始* @param end 到end下标结束*/private static void Permutation(List<Integer> list, int start, int end) {if (start == end){//增强的for循环(foreach)for (Integer i:list) {System.out.print(i+" ");}System.out.println();}else{//将 n 个数字全排列的问题变成 n-1个数字全排列的问题//start 到 end轮流做首位数字,解决了第一位的数字,后面的n-1 的数字变成了n-1 数字全排列问题for (int i = start; i <= end; i++) {//对下标从第start到第end个数的全排列 a{bcd} b{acd} c{bad} d{bca}swap(list, start, i);Permutation(list, start+1, end);swap(list, start, i);}}}/*** 交换两个数的位置* @param list 列表* @param i 下标为i* @param j 下标为j*/private static void swap(List<Integer> list, int i, int j) {Integer temp = list.get(i);list.set(i, list.get(j));list.set(j, temp);}
}
2.2 运行结果:
递归问题:Fibonacci 数列 排列问题相关推荐
- 用php递归求fibonacci数列,C++_C语言求Fibonacci斐波那契数列通项问题的解法总结,一:递归实现使用 - phpStudy...
C语言求Fibonacci斐波那契数列通项问题的解法总结 一:递归实现 使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现 空间复 ...
- 【递归 动态规划 备忘录法】Fibonacci数列(斐波那契数列)(C++)
一.什么是Fibonacci数列 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144- 用文字来说,就是从第3项开始,每一项都等于前两项 ...
- Fibonacci数列 递归 杨辉三角 动态规划
这篇帖子主要是介绍 递归 与 动态规划 之间是如何转换的, 什么是递归估计不用多说,那么什么是 动态规划呢? 我理解的动态规划就是: 能够避免 直接 递归实现 中出现的重复运算的技术就是动态规划. 这 ...
- 6-3 计算Fibonacci数列每一项时所需的递归调用次数 (10 分)
计算并打印Fibonacci数列每一项时所需的递归调用次数,数列第一项从1开始. 要求: 1)定义表示调用次数的全局变量count: 2)定义用递归方法求Fibonacci数列的Fib()函数. 函数 ...
- C语言:Fibonacci数列的递归解法和非递归解法
求Fibonacci数列的第n项(注意,是当n很小时) Fibonacci数列: F(n)=F(n-1)+F(n-2) 1 1 2 3 5 8 13 21 -- 递归解法: #include<s ...
- 6-3 计算Fibonacci数列每一项时所需的递归调用次数
6-3 计算Fibonacci数列每一项时所需的递归调用次数 (10 point(s)) 计算并打印Fibonacci数列每一项时所需的递归调用次数,数列第一项从1开始. 要求: 1)定义表示调用次数 ...
- day16:递归思想——Fibonacci 斐波那契数列
一.斐波那契数列(Fibonacci sequence),又称黄金分割数列,这个数列最早是由印度数学家提出来的. 该序列的前几项是这样的:0,1,1,2,3,5,8,13,21,34,⋯ 在数学上,斐 ...
- Fibonacci数列 递归与分治
Fibonacci数列 无穷数列1,1,2,3,5,8,13,21,34,55,--,称为Fibonacci数列.它可以递归地定义为: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接 ...
- C语言—递归函数 用递归方法编程计算输出Fibonacci数列,同时打印出计算Fibonacci数列每一项时所需的递归调用次数。
用递归方法编程计算输出Fibonacci数列,同时打印出计算Fibonacci数列每一项时所需的递归调用次数. **输入格式要求:"%d" 提示信息:"Input n:& ...
最新文章
- Linux中which命令作用,【每天一个Linux命令】12. Linux中which命令的用法
- Python 位运算符号
- orcad如何设置模块化设计_充气膜结构送风设置设计以及通风效果如何呢?
- python span.string函数_【转】python f-string
- ibatise 没有大于等于吗_库里+杜兰特并没有大于等于2!或许他和库里搭配将更强...
- 【HDU - 2665】Kth number(区间第K大,主席树,模板)
- 有问有答 | 算法和数据结构精华问答
- linux如何运行qt源码,Linux/Ubuntu下编译Qt4.8.2源码
- 监控磁盘并发mail通知
- 设计模式002:简单工厂模式
- C++之强制转换const_cast、static_cast、dynamic_cast、reinterpret_cast 、dynamic_cast
- layer 延时设置
- 微型计算机机安装硬盘教程,台式机械硬盘怎么安装?机械硬盘安装图解教程(SATA固态可参考)...
- BZOJ1001: [BeiJing2006]狼抓兔子
- 华为HCIE-CloudComputing备考笔记-2021.10
- adobe 免费素材库
- electron-mac应用-代码签名及公证(教科书式操作-亲测有效)
- 网页中的动漫人物互动——看板娘
- php根据当前日期判断法定节假日_PHP 判断当前日期是否是法定节假日或者休息日 (原)...
- 带武器的格斗游戏,武器带回血
热门文章
- java new thread参数_java开启新线程并传参的两种方法
- steam网站服务器无法使用,steam没法连接服务器,解决方法是什么?
- python查找某一目录下的前缀相同的文件并移动到指定目录, 目录下会有不同前缀的文件, 不同前缀的文件移动到不同目录 举个例...
- 2022-2-22 王爽《汇编语言》实验一
- android角度计算器,Calckit高级版一款安卓多功能计算器,内置高度定制的科学计算器...
- calcbusiness使用教程_Calc Business v4.4.2高级特别版 一款专业的科学计算器
- 2022-1-19 C++ STL —— adapters
- 发财致富尽在现货黄金白银交易
- 2021-05-16Leetcode 55.跳跃游戏
- 接受了 CSDN 的《专家看台》采访