package for;
/**
*斐波那契而数列:前两位是1,其他每一位都等于前两位的和
*
* 方法传入的参数是位数 比如传入10 就是要计算第10位的值是多少
* 、
* 1 1 2 3 5 8 13 21 34 55 89
*/
public class for {
public static void main(String[] args) {
m1(34);
}
public static void m1(int i) {
if(i < 1) {
System.out.println("位数不正确");
return;
}
//到这里说明i一定不小于1
if(i == 1|| i == 2) {
System.out.println("第 " + i + " 位的值是 : 1");
return;
}
//到这里说明一定大于第二位的
//先把第一位和第二位打印
System.out.println("第 1 位的值是 : 1");
System.out.println("第 2 位的值是 : 1");
//当前位的前两位的值,默认是第一位
long l1 = 1;
//当前位的前一位的值,默认是第二位
long l2 = 1;
//当前位,默认是第三位
long l3 = 0;
for (int j = 3;j <= i;j++) {
l3 = l1 + l2;
System.out.println("第 " + j + " 位的值是 : " + l3);
//把l2赋值给l1这时候l1就表示当前j位的前1位
l1 = l2;
//把l3赋值给l2这时候l2就表示当前j位的值
l2 = l3;
}
}
}
斐波那契数列(for写法)——恋天小结
最新推荐文章于 2022-04-03 14:02:25 发布