事先声明:本人是今年的大一新生,在亚利桑那大学CS系念大一;我在美国高中读书的时候没学过JAVA,C++之类的编程语言,所以刚接触JAVA很多知识不太了解,所以想请各位哥哥姐姐帮忙一下:
这个问题是关于数学上斐波那契(Fibonacci)数学列的编写:
// Implement method fibonacci that returns the nth Fibonacci number.
// Fibonnaci numbers can be computed as the sum of the preceding two.
// You will find it useful to keep track the two previous Fibonacci
// numbers. This is harder than it looks.
//
// fibonacci(1) returns 1
// fibonacci(2) returns 1
// fibonacci(3) returns 2
// fibonacci(4) returns 3
// fibonacci(5) returns 5
// fibonacci(6) returns 8
//
首先,题目啥意思我知道;就是把斐波那契数列以编程的形式表达出来:
然后这是我的思路:
public int fibonacci(int n) {
int fib0=0; //第0项为0;
int fib1=1;//第一项为1;
if (n>=2) { //该公式是由n=2的时候,才执行公式的;所以我的思路是以n是否大于等于2来写一个
//if statement的框架
for (int loop=3; loop<=n; loop++) {//这是一个基于if statement中n>=2时的一个循环,我就是卡在这一步上;
//不知道For statement和通项公式怎么表达,所以希望你们给点建议。
}
}
else if (n==1) {//如果n=1的时候,结果直接等于第一项
return fib1;
}
else {//反之若等于0;结果就为第零项。
return fib0;
}
}
这个问题是关于数学上斐波那契(Fibonacci)数学列的编写:
// Implement method fibonacci that returns the nth Fibonacci number.
// Fibonnaci numbers can be computed as the sum of the preceding two.
// You will find it useful to keep track the two previous Fibonacci
// numbers. This is harder than it looks.
//
// fibonacci(1) returns 1
// fibonacci(2) returns 1
// fibonacci(3) returns 2
// fibonacci(4) returns 3
// fibonacci(5) returns 5
// fibonacci(6) returns 8
//
首先,题目啥意思我知道;就是把斐波那契数列以编程的形式表达出来:
然后这是我的思路:
public int fibonacci(int n) {
int fib0=0; //第0项为0;
int fib1=1;//第一项为1;
if (n>=2) { //该公式是由n=2的时候,才执行公式的;所以我的思路是以n是否大于等于2来写一个
//if statement的框架
for (int loop=3; loop<=n; loop++) {//这是一个基于if statement中n>=2时的一个循环,我就是卡在这一步上;
//不知道For statement和通项公式怎么表达,所以希望你们给点建议。
}
}
else if (n==1) {//如果n=1的时候,结果直接等于第一项
return fib1;
}
else {//反之若等于0;结果就为第零项。
return fib0;
}
}