训练4 斐波那契数列
1、1、2、3、5、8、13、21、34、……是一组典型的斐波那契数列,前两个数相加等于第三个数。那么请问这组数中的第n个数的值是多少?
/*训练4 斐波那契数列
* 1、1、2、3、5、8、13、21、34、……是一组典型的斐波那契数列,
* 前两个数相加等于第三个数。那么请问这组数中的第n个数的值是多少?*/
package LC;
import java.util.Scanner; //引入Scanner类
public class Test4 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in); //创建扫描器,获取控制台输入的值,赋值给sc
System.out.println("请输入要获取第几位斐波那契数列的数值:"); //输出提示
int n = sc.nextInt(); //将输入的数字,赋值给n
int a = 1, b = 1, c = a + b; //赋值给第一、二、三位数
if(n == 2 || n == 1) { //n = 1; n = 2;输出x = 1;
int x = 1;
System.out.println(x);
}else if(n > 2){
for(int i = 1; i <= n-2; i+=1) {
c = a + b; //赋值给输出值
a = b; //赋值给输出值的前一个值
b = c; //赋值给输出值的前两个值
}
System.out.println(c);
}else {
System.out.println("输入的值必须为大于0的正整数"); //如果输入负数,输出提示
}
sc.close();
}
}