Подскажите по коду, правильный ли он или что можно доделать и дописать.
Как можно организовать это с циклом 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);
}
то есть способ с использованием рекурсии.
Комментариев нет:
Отправить комментарий