三种方法实现斐波那契数列
2017-11-07 17:17
288 查看
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行
//java编程:三种方法实现斐波那契数列
//其一方法:
[java] view
plain copy
public class Demo2 {
// 定义三个变量方法
public static void main(String[] args) {
int a = 1, b = 1, c = 0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a + "\t" + b + "\t");
//因为前面还有两个1、1 所以i<=18
for (int i = 1; i <= 18; i++) {
c = a + b;
a = b;
b = c;
System.out.print(c + "\t");
if ((i + 2) % 5 == 0)
System.out.println();
}
}
}
//java编程:三种方法实现斐波那契数列
//其二方法:
[java] view
plain copy
public class Demo3 {
// 定义数组方法
public static void main(String[] args) {
int arr[] = new int[20];
arr[0] = arr[1] = 1;
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for (int i = 0; i < arr.length; i++) {
if (i % 5 == 0)
System.out.println();
System.out.print(arr[i] + "\t");
}
}
}
//java编程:三种方法实现斐波那契数列
//其三方法:
[java] view
plain copy
public class Demo4 {
// 使用递归方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1;
else
return getFibo(i - 1) + getFibo(i - 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前20项为:");
for (int j = 1; j <= 20; j++) {
System.out.print(getFibo(j) + "\t");
if (j % 5 == 0)
System.out.println();
}
}
}
//java编程:三种方法实现斐波那契数列
//其一方法:
[java] view
plain copy
public class Demo2 {
// 定义三个变量方法
public static void main(String[] args) {
int a = 1, b = 1, c = 0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a + "\t" + b + "\t");
//因为前面还有两个1、1 所以i<=18
for (int i = 1; i <= 18; i++) {
c = a + b;
a = b;
b = c;
System.out.print(c + "\t");
if ((i + 2) % 5 == 0)
System.out.println();
}
}
}
//java编程:三种方法实现斐波那契数列
//其二方法:
[java] view
plain copy
public class Demo3 {
// 定义数组方法
public static void main(String[] args) {
int arr[] = new int[20];
arr[0] = arr[1] = 1;
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for (int i = 0; i < arr.length; i++) {
if (i % 5 == 0)
System.out.println();
System.out.print(arr[i] + "\t");
}
}
}
//java编程:三种方法实现斐波那契数列
//其三方法:
[java] view
plain copy
public class Demo4 {
// 使用递归方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1;
else
return getFibo(i - 1) + getFibo(i - 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前20项为:");
for (int j = 1; j <= 20; j++) {
System.out.print(getFibo(j) + "\t");
if (j % 5 == 0)
System.out.println();
}
}
}
相关文章推荐
- php实现斐波那契数列的三种方法,递归回调和迭代器和数组之间性能对比
- 用递归,迭代,通项公式三种方法实现斐波那契数列求解
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- C语言排序(四)——三种方法实现斐波那契数列
- 三种java编程方法实现斐波那契数列
- 三种方法实现斐波那契数列
- java编程:三种方法实现斐波那契数列
- 斐波那契数列实现的三种方法
- 三种方法实现斐波那契数列
- 剑指Offer-->斐波那契数列(三种实现方法)
- 三种方法实现斐波那契数列
- 实现斐波那契数列的三种方法
- 三种细边框表格的实现方法比较
- Asp.net中实现页面跳转的三种方法比较
- 《面向对象程序设计与VC++实现》--Liwei_1_3 (交换 使用引用、指针、变量三种方法)
- 用javascript实现页面打印的三种方法
- Delphi中实现文件拷贝的三种方法
- 三种细边框表格的实现方法比较(转)
- 转 三种方法实现实时切换CSS样式