From ea96f13acf93f97730edae4f676921f0c5cb57f0 Mon Sep 17 00:00:00 2001 From: Dyegho M C G Cunha <123116771+DyeghoCunha@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:42:56 -0300 Subject: [PATCH] Create fibonacci_Numbers --- maths/fibonacci_Numbers | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 maths/fibonacci_Numbers diff --git a/maths/fibonacci_Numbers b/maths/fibonacci_Numbers new file mode 100644 index 00000000..14aaaa41 --- /dev/null +++ b/maths/fibonacci_Numbers @@ -0,0 +1,55 @@ +import 'dart:io'; + +class Fibonacci { + List sequence = [0, 1]; + + int get(int index) { + if (index - (sequence.length - 2) >= 1) { + for (var i = 0; i < index - (sequence.length - 2); i++) { + sequence.add(sequence.last + sequence[sequence.length - 2]); + } + } + return sequence[index]; + } + + List getSequence(int n) { + List sequence = [0, 1]; + for (var i = 2; i <= n; i++) { + sequence.add(sequence[i - 1] + sequence[i - 2]); + } + return sequence; + } +} + +void main() { + print( + ''' +Fibonacci Series Using Dynamic Programming + +Enter the number of Fibonacci numbers you want to calculate +in the prompt below. (To exit enter exit or Ctrl-C) +'''); + + var fibonacci = Fibonacci(); + + while (true) { + var prompt = stdin.readLineSync()!.trim(); + if (prompt == 'exit') { + break; + } + + try { + var n = int.parse(prompt); + var sequence = fibonacci.getSequence(n); + + var output = ""; + for (var number in sequence) { + output += "${number} "; + } + + print(output); + } catch (e) { + print('Enter a number or "exit"'); + } + } +}