Страницы

Поиск по вопросам

среда, 3 октября 2018 г.

Последовательности чисел Фибоначчи

Подскажите по коду, правильный ли он или что можно доделать и дописать. Как можно организовать это с циклом while?
Задача:
Выведите на экран первые 11 членов последовательности Фибоначчи. Напоминаем, что первый и второй члены последовательности равны единицам, а каждый следующий — сумме двух предыдущих.
public class Test { public static void main(String [] args){ int a = 1; int b = 1; int n; int sum_fib; Scanner s = new Scanner(System.in); n = s.nextInt(); for(int i = 0; i < n; i++){ sum_fib = a + b; a = b; b = sum_fib; System.out.print(sum_fib + " "); } } }


Ответ

Я бы написал просто
System.out.print("1 1 2 3 5 8 13 21 34 55 89");
А в вашем коде все нормально. По-моему, единственный способ плохо написать вычисление последовательности Фибоначчи - это
int fib(int i) { if (i == 1) return 1; if (i == 2) return 1; return fib(i - 1) + fib(i - 2); }
то есть способ с использованием рекурсии.

Комментариев нет:

Отправить комментарий