我正在尝试使用我正在使用的方法在Lucas序列中显示x数量的数字,我正在使用,否则如果。我正在使用它,因为我是编程的新手,我只是在学习。我试图使代码看起来像这样,但当我尝试这样做时,它只是不起作用。
我使用的代码类型是:
int add4 = 1;
int count500 = 1;
while (count500 <= 500)
{
if (count500 ==1)
{
System.out.print(add4);
}
else
{
System.out.print (add4 +"," +"");
}
add4 =add4 + 4;
count500 ++;
}
这只是我尝试的方法,但它没有成功,它只是让我头脑冷静。
答案 0 :(得分:1)
我希望这可以帮助
http://www.javacodegeeks.com/2014/06/fibonacci-and-lucas-sequences.html
它是一个包含卢卡序列解释并有实现的页面。
这里有卢卡序列的完整解释。
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/lucasNbs.html
答案 1 :(得分:0)
你对卢卡斯数的定义是递归的,即,为了计算第n个卢卡斯数,你需要知道第N-1和N-2。
public int lucas(int N) {
if( N == 0 ) return 2;
if( N == 1 ) return 1;
return lucas(N-1) + lucas(N-2);
} 但是,你只需打印数字,不是吗?实际上,它很容易。
int L2 = 2;
int L1 = 1;
for( int i = 2; i <= N; i++ ) {
int L = L1 + L2;
print(L); //or whatever output function you have
L2 = L1;
L1 = L;
}
这个想法是保留最后两个数字,你需要计算接下来的两个数字,总是在手边。
PS:这些Lucas数字就像具有不同起始值的Fibonacci数字,因此Fibonacci数的任何算法都可以。如果你真的擅长数学,你甚至可以尝试为卢卡斯数找到一个封闭的公式,但它绝对超出了高中数学(搜索标签将是&#34;线性差分方程与常数系数&#34;。)