Моя реализация Java алгоритма Фибоначчи не работает.

1

Я пытаюсь написать программу Java, которая производит "n-й" номер Фибоначчи. Что я делаю не так?!

 public class project7 {

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

        int fold1 = 1;
        int fold2 = 1;


        System.out.println("Enter the number of times you would like to compute:");
        int n = console.readInt();

        for(int i = 0; i <= n; i++ ){

            fold1++;
            fold2++;
        }

        int fnew = fold1 + fold2;
        System.out.println(fnew);

    }
}
Теги:
fibonacci

1 ответ

1
Лучший ответ

Что именно вы ожидаете, кроме числа? Поэтому сначала u инициализируйте консольный ридер, чтобы получить пользовательский ввод. Затем вы инициализируете 2 целых числа в значение 1... fold1 и fold2... Затем вы получаете входное значение для int n... Все это замечательно. Затем вы делаете n + 1 циклов, увеличивая fold1 и fold2... ok.. Затем u добавьте их в fnew и напечатайте результат... что делает этот код. Скажите, что у вас есть вход 5... fold1, он будет увеличиваться в 6 раз, начиная с 1, так что в шести петлях (из-за <=) значения будут 2,3,4,5,6,7... такие же для fold2... печать fnew to be14

Обновить:

Попробуйте это int fold1 = 0; int fold2 = 1; int n = console.readInt...

for(int i=0; i<n;i++)
{
Fnew = fold1 + fold2;
fold1 = fold2;
fold2 = Fnew;

} System.out.println(Fnew);

  • 0
    вот что выводит 16 вместо 14
  • 0
    Попробуйте это ... для (int i = 1; i <= n; i ++) ... или используйте только <... not <=
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню