C/Java - Последовательность Фибоначчи
В этом руководстве по C и Java вы узнаете, как подсчитывать и отображать первые N чисел Фибоначчи.Последовательность Фибоначчи определяется следующим:
по ≥ 1 такие как U1=U2=1
и
Приведенная ниже программа печатает первые 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("пауза");
}
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