今天学习了斐波那契数列及递归算法,其内容如下:
斐波那契数列,选择可以输出几个数
*/
public class Febonaci{
public static void main(String[] args){
//创建Scanner对象
/*Scanner sc = new Scanner(System.in);
System.out.print("请输入要输出几个数:");
int number = sc.nextInt();
int x = 1;
int y = 1;
int z = 0;
for(int i = 1;i<=number;i++){
if(i == 1 || i == 2){
System.out.print(1 + "\t");
}else{
z = x + y;
x = y;
y = z;
System.out.print(z + "\t");
}
}*/
for(int i = 1;i <= 10;i++){
System.out.print(getNumber(i) + "\t");
}
}
/*
递归算法:程序在运行的过程中,发生自身调用自身的情况
注意:
1、如果使用循环能解决问题,尽量不要使用递归算法
在使用递归算法的时候会加大资源的消耗
如果递归算法的深度过于深,可能会造成栈溢出
2、如果使用其他方法都不能解决问题,就必须要使用递归算法
如:输出某个磁盘下所有的文件名
*/
public static int getNumber(int number){
if(number == 1 || number == 2){
return 1;
}else{
return getNumber(number - 1) + getNumber(number - 2);
}
}
}