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

В этом руководстве по C и Java вы узнаете, как подсчитывать и отображать первые N чисел Фибоначчи.

Последовательность Фибоначчи определяется следующим:

    по ≥ 1  такие как   U1=U2=1
    и
    Un = A-1+Un-2   для всего  n ≥ 2


C/Java - Фрактал ряда Фибоначчи
Слово Фибоначчи fractal

1- Фибоначчи в C

Приведенная ниже программа печатает первые 20 чисел последовательности Фибоначчи итерационным методом. Каждый  Слагаемое образуется путем сложения двух предыдущих слагаемых в последовательности. Начиная с терминов 1 и 1.
#include< stdio.h> 
#include< stdlib.h>

main() {
int n1 = 1, n2 = 1, n3;
printf("%d %d ", n1 ,n2 );

for (int i = 0; i < 18; i++) { //Цикл для следующих 18 terms
n3= n2 + n1; //следующий член является суммой двух предыдущих
printf("%d ", n3);
n1 = n2; Первое предыдущее становится 2-м предыдущим
n2 = n3; И текущее число становится предыдущим
}
printf("\n");
system("пауза");
}
Вывод:

C++ - первые 20 чисел последовательности Фибоначчи итеративным методом

2- Фибоначчи в Java:


Мы выбрали рекурсивную обработку, в качестве входных данных целое число n и в качестве выходных члена ранга n последовательности. Вот два случая рекурсии:
  • Если n меньше или равно 1, n принимает два значения 0 или 1. fib(0)=0 и fib(1)=1.
  • в противном случае повторение начинается с n, которое уменьшается до второго члена.
import java.io.InputStreamReader; 
import java.util.Scanner;

/*
* Подсчитываем и выводим первые N чисел Фибоначчи.
*/
public class Fibonacci {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int N = sc.nextInt();

//выводим первое число N Фибоначчи
for(int i = 1 ; i <= N ; i++)//начинаем с n=1
System.out.println(i + ": " + fib(i));
}

private static int fib(int n) {
if (n <= 1) return n;
else return fib(n-1) + fib(n-2);
}
}
Вывод:
20
fib(1)= : 1
fib(2)= : 1
fib(3)= : 2
fib(4)= : 3
fib(5)= : 5
fib(6)= : 8
fib(7)= : 13
fib(8)= : 21
fib(9)= : 34
fib(10)= : 55
fib(11)= : 89
fib(12)= : 144
fib(13)= : 233
fib(14)= : 377
fib(15)= : 610
fib(16)= : 987
fib(17)= : 1597
fib(18)= : 2584
fib(19)= : 4181
fib(20)=: 6765