确定斐波纳契数列是很容易的找出:
int num = 0;
int num2 = 1;
int loop;
int fibonacci;
System.out.print(num2);
for (loop = 1; loop <= 10; loop ++)
{
fibonacci = num + num2;
num = num2;
num2 = fibonacci;
System.out.print(" " + fibonacci);
}
我的问题在于试图作为查明对指定N.价值,如果我想找到序列中的第6元,这是8,我如何才能找到这个数字,只是这个数字?
在代码中, num
开始为第 0 Fibonacci数和num1
为1 次 。 因此,要找到第 n 个 ,你必须重复步骤n
时间:
for (loop = 0; loop < n; loop ++)
{
fibonacci = num + num2;
num = num2;
num2 = fibonacci;
}
System.out.print(num);
只有打印出来,当你已经完成。
当循环计数器loop
具有值k
, num
保持第 k 个 Fibonacci数和num2
第(k + 1) 个 。
要找到第n个数字,我们需要知道的斐波那契数的长度。 您可以使用Java的INT转换为字符串Integer.toString(int)
功能。 使用字符串,一个可接着确定变换Fibonacci数的长度。
编辑:删除代码B / C有可能HWK问题
int n=5;//position of the fibonacci number to find
int fibonacci=0,num=0,num2=1;
for(int loop=1;loop<n;loop++)
{
fibonacci=num+num2;
num=num2;
num2=fibonacci;
}
System.out.println(num);
import java.util.*;
public class fibonacci{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
String n=System.getProperty("line.separator");
int count=0,x=0,y=1,sum;
System.out.println("Enter a number: ");
int num=input.nextInt();
for(count=0;count<=num;count++){
System.out.print(" "+ x);
sum=x+y;
x=y;
y=sum;
}
}
}
import acm.program.*;
public class FibonacciToN extends ConsoleProgram {
public void run() {
println("This program will display a table of Fibonacci numbers up to value n.");
int n = readInt("Enter an integer for value n: ");
int result = sequence(n);
}
private int sequence(int n) {
int a = 0;
int b = 1;
while (a < n) {
println(a);
a = a + b;
b = a - b;
}
return a;
}
}