package com.itheima;
/**
*1、求斐波那契数列第n项,n<30
*斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
*@author陈建明
*/
/*
* 斐波那契数列的规律是从第三个数开始,后面的数是前面两个数的和
*/
//导键盘录入包
import java.util.Scanner;
class Test1
{
public static void main(String[] args)
{
//键盘录入一个数
Scanner sc = new Scanner(System.in);
System.out.println("请输入你想斐波那契数列第几项(<30):");
int n = sc.nextInt();
//打印出feiBo方法的返回值
System.out.println("斐波那契数列第"+n+"项为:"+feiBo(n));
}
//定义求斐波那契数列第n项的方法
public static int feiBo(int n)
{
//定义a,为第一个数;b为第二个数
int a = 1 ,b = 1;// ,c = 2;
//用循环来进行累加,a表示奇数位上的数,b表示偶数位上的数
for (int i = 1; i < n/2 ; i++ )
{
a = a + b;
b = a + b;
}
//判断输入的数是奇数还是偶数,如果是偶数就返回b
if (n % 2 == 0)
{
return b;
}
//如果是奇数,要把a少做的一次运算补上
else
{
a = a + b;
return a;
}
}
} |
|