フィボナッチ型級数の n 番目の項を見つけることができるプログラムを作成しようとしています (ちなみに、非再帰的でなければなりません)。ユーザーから任意の 2 つの数字を取得し、それらを最初の 2 つの用語として使用できる必要があります。
たとえば、ユーザーが f1 = 2 および f2 = 3 と入力した場合、シリーズは 2、3、5、8、13、21 などになります。
ユーザーは、出てきたい用語を入力することもできます。
ほとんどのプログラムは完了しました (と思います) が、2 つの問題があります。
- n 番目の用語を見つけるとき、プログラムは f1 と f2 を用語 1 と 2 としてカウントする必要があります。
- プログラムは n 項までのすべての数値を出力しますが、n 項だけを出力したい
私はこれにしばらく携わっています。私は Java にかなり慣れていません。2 年前に入門クラスを受講しました。今は次のクラスに参加していて、少し問題があります。感謝!
import java.util.Scanner;
public class fibs
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in); // readying keyboard for input
int f1, f2, n, fib;
System.out.println("Please enter a vaule for F(1):");
f1 = keyboard.nextInt();
System.out.println("Please enter a vaule for F(2):");
f2 = keyboard.nextInt();
System.out.println("Please enter a vaule for n :");
n = keyboard.nextInt();
if ((f1<0)||(f2<0)||(f1>1000)||(f2>1000)||(n<1))
{
System.out.println("Please try again");
return;
}
else
{
int i;
for (i=0; i<n; i++)
{
fib=f1+f2;
f1=f2;
f2=fib;
System.out.println( fib );
}
}
}
}