您的位置:首页 > 其它

递归与非递归实现斐波那契数列

2017-05-04 15:36 302 查看
public class Test {

// 递归实现斐波那契数列
public int f(int n) {
if (n == 0 || n == 1) {
return 1;
} else if (n > 1) {
return f(n - 1) + f(n - 2);
} else {
return 0;
}
}

public void testF(int n) {
for (int i = 0; i < n; i++) {
System.out.print("f[" + i + "]=" + f(i) + "  ");
}
}

// 非递归实现斐波那契数列
public void printF(int n) {
int sum = 0, sum1 = 0, sum2 = 0;
for (int i = 0; i < n; i++) {
if (i == 0 || i == 1) {
sum = 1;
System.out.print("f[" + i + "]=" + sum + "  ");
sum1 = sum;
sum2 = sum;
} else {
sum = sum1 + sum2;
System.out.print("f[" + i + "]=" + sum + "  ");
sum1 = sum2;
sum2 = sum;
}
}
}

public static void main(String[] args) {
new Test().testF(10);
new Test().printF(10);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: