Последний номер Фибоначчи

-6

У меня есть эта часть моего кода, и я пытаюсь заставить его напечатать только последний номер Фибоначчи, но не все из них. Как мне это сделать? Я знаю, что вся программа еще не завершена, но мне просто нужно знать, как печатать последний номер, например, когда вы выбираете вариант 1, а затем введите "30" для индекса, вы должны получить только вывод 832040 вместо каждый фибоначчи номер 30. Спасибо!

import java.util.Scanner;

public class Fibonacci {

public static void main(String args[]) {
Scanner scan = new Scanner(System.in);

System.out.println("This is a Fibonacci sequence generator");
System.out.println("Choose what you would like to do");
System.out.println("1. Find the nth Fibonacci number");
System.out.println("2. Find the smallest Fibonacci number that exceeds user given value");
System.out.println("3. Find the two Fibonacci numbers whose ratio is close enough to the golden number");

System.out.print("Enter your choice: ");
int choice = scan.nextInt();
int xPre = 0;
int xCurr = 1;
int xNew;

switch (choice)
{
case 1:
System.out.print("Enter the target index to generate (>1): ");
int index = scan.nextInt();

for (int i = 2; i<=index; i++)
{xNew = xPre + xCurr;
xPre = xCurr;
xCurr = xNew;
System.out.println("The " + index + "th number Fibonacci number is " + xNew);

}
}}}

спросил(а) 2021-01-19T13:48:22+03:00 6 месяцев, 2 недели назад
1
Решение
141

В основном просто измените код, как показано ниже.

switch (choice)
{
case 1:
System.out.print("Enter the target index to generate (>1): ");
int index = scan.nextInt();

for (int i = 2; i<=index; i++)
{xNew = xPre + xCurr;
xPre = xCurr;
xCurr = xNew;
}
System.out.println("The " + index + "th number Fibonacci number is " + xNew);

Поскольку переменная xNew Variable в последний раз модифицирована для хранения значения индекса (например, - 30), оно должно показывать окончательное значение только как 832040.

ответил(а) 2021-01-19T13:48:22+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема