Advertisement
avr39ripe

jsFibbonaciComparision

Feb 15th, 2021
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.41 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Study</title>
  6. </head>
  7. <body>
  8.     <script>
  9.         'use strict'
  10.         /*
  11.          * fib(3) -> fib(3 -1) + fib(3-2) -> 1 + 1 -> 2
  12.          *
  13.          * fib(2) -> fib(2 -1 )+ fib(2 -2) -> 1
  14.          * fib(1) -> 1 + fib(0) -> 0
  15.          *
  16.          * fib(1) -> 1
  17.          * /
  18.         function fib(n) {
  19.             if (n == 0) { return 0; }
  20.             if (n == 1) { return 1; }
  21.  
  22.             return fib(n - 1) + fib(n - 2);
  23.         }
  24.  
  25.         function fib1(n) {
  26.             let fib0 = 0;
  27.             let fib1 = 1;
  28.             let res = 0;
  29.  
  30.             if (n < 2 ) { return n; };
  31.  
  32.            for (n -= 2; n >= 0; --n) {
  33.                 res = fib0 + fib1;
  34.                 fib0 = fib1;
  35.                 fib1 = res;
  36.             }
  37.             return res;
  38.         }
  39.  
  40.  
  41.         function printRange(rangeA, rangeB, what) {
  42.             let begin;
  43.             let end;
  44.  
  45.             rangeA > rangeB ? (end = rangeA, begin = rangeB) : (end = rangeB, begin = rangeA)
  46.  
  47.             for (; begin <= end; ++begin) {
  48.                console.log(`${begin} ==> ${what(begin)}`);
  49.             }
  50.         }
  51.  
  52.  
  53.         {
  54.             let beginRange = +prompt('Enter begin range', 0);
  55.             let endRange = +prompt('Enter end range', 45);
  56.             printRange(beginRange, endRange, fib);
  57.         }
  58.     </script>
  59. </body>
  60. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement