Java. Последовательность чисел Фибоначчи
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом без изменения настроек, вы даёте согласие на использование ваших cookie-файлов.
speech bubble

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

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

 

Задание: Написать алгоритм последовательности чисел Фибоначчи на языке Java.

Дано:

Java(Джава) - язык программирования

n - сумма предыдущих чисел

line - строковая переменная для хранения последовательности

n0 - предыдущее число последовательности

n1 - текущее число последовательности

 

Последовательность чисел Фибоначчи на java без рекурсии:

public class Main
{
	public static void main(String[] args) {
		int n, n0, n1;
		String line = "";
		n0 = n1 = 1;
		line = n0 + " " + n1 + " ";
		for(int i = 3; i <= 11; i++){
			n = n0 + n1;
			n0 = n1;
			n1 = n;
			line += n + " ";
		}
		System.out.println(line);
	}
}

Результат:

1 1 2 3 5 8 13 21 34 55 89

 

Рекурсивное вычисление чисел Фибоначчи на java:

public class Main
{
    public static void main(String[] args) {
       int number = 0;
       while(number < 11) {
          System.out.print(getFibonacciValue(++number) + " "); // добавляем к number +1 после вычисления
       }
	}
	
	public static int getFibonacciValue(int n) {
        if (n <= 1) {
            return 0;
        } else if (n == 2) {
            return 1;
        } else  {
            return getFibonacciValue(n - 1) + getFibonacciValue(n - 2); // Суммируем текущее и предыдущее число
        }
    }
}

Результат:

0 1 1 2 3 5 8 13 21 34 55

 

Получения n-ого по счёту числа Фибоначчи на java:

public class Main
{
    public static void main(String[] args) {
        System.out.print(getFibonacciValue(11) + " "); 
	}
	
	public static int getFibonacciValue(int n) {
        if (n <= 1) {
            return 0;
        } else if (n == 2) {
            return 1;
        } else  {
            return getFibonacciValue(n - 1) + getFibonacciValue(n - 2);
        }
    }
}

Результат:

55

 

Для комментирования необходимо авторизоваться