斐波那契数列
Fibonnaci Sequence
我绝对是 java 的初学者,我想用 acm.libary 编写一个关于斐波那契数列的代码。
结果对我来说非常好,但我只想打印序列的最后一个数字。我不知道怎么办。
如果用户输入 n = 5,则结果需要为 8。
如果用户输入 n = 8,则结果需要为 21。
在我的程序中它是最后一个数字,但程序也会打印所有之前的数字。
希望你能理解我:D
提前致谢!
int a = 1;
int b = 0;
public void run() {
int n = readInt ("n: ");
for(int i = 1; i <= n; i++) {
println (fibonacci (n));
}
}
private int fibonacci(int n) {
int c = (a) + (b);
a = b;
b = c;
return c;
}
你可以这样替换循环体:
if (i == n) {
println (fibonacci (n));
} else {
fibonacci (n);
}
试试这个代码。
import java.util.Scanner;
public class Test {
int a = 1;
int b = 0;
public int run() {
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int value =0;
for(int i = 1; i <= n; i++) {
value = fibonacci (n);
}
return value;
}
private int fibonacci(int n) {
int c = (a) + (b);
a = b;
b = c;
return c;
}
public static void main (String arg[])
{
Test t = new Test();
System.out.println(t.run());
}
}
我绝对是 java 的初学者,我想用 acm.libary 编写一个关于斐波那契数列的代码。
结果对我来说非常好,但我只想打印序列的最后一个数字。我不知道怎么办。 如果用户输入 n = 5,则结果需要为 8。 如果用户输入 n = 8,则结果需要为 21。 在我的程序中它是最后一个数字,但程序也会打印所有之前的数字。
希望你能理解我:D
提前致谢!
int a = 1;
int b = 0;
public void run() {
int n = readInt ("n: ");
for(int i = 1; i <= n; i++) {
println (fibonacci (n));
}
}
private int fibonacci(int n) {
int c = (a) + (b);
a = b;
b = c;
return c;
}
你可以这样替换循环体:
if (i == n) {
println (fibonacci (n));
} else {
fibonacci (n);
}
试试这个代码。
import java.util.Scanner;
public class Test {
int a = 1;
int b = 0;
public int run() {
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int value =0;
for(int i = 1; i <= n; i++) {
value = fibonacci (n);
}
return value;
}
private int fibonacci(int n) {
int c = (a) + (b);
a = b;
b = c;
return c;
}
public static void main (String arg[])
{
Test t = new Test();
System.out.println(t.run());
}
}