From 7cbeb14035f22e8c6f02d09023eaff0947fa8991 Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Mon, 16 Oct 2023 22:12:04 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8C=87=E6=95=B0=E3=82=AA=E3=83=BC?= =?UTF-8?q?=E3=83=80=E3=83=BC=E3=81=AEfib=E9=96=A2=E6=95=B0=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index ad9a93a..7bf56ef 100644 --- a/app.js +++ b/app.js @@ -1 +1,13 @@ -'use strict'; +'use strict' +function fib(n) { + if (n === 0) { + return 0 + } else if (n === 1) { + return 1 + } + return fib(n - 1) + fib(n - 2) +} +const length = 40 +for (let i = 0; i <= length; i++) { + console.log(fib(i)) +} From c3dceb4fc914fb2f5926b49db8e85007e26d52e8 Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Mon, 16 Oct 2023 22:26:16 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=E3=83=A1=E3=83=A2=E5=8C=96=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=E3=82=A2=E3=83=AA=E3=82=B4=E3=83=AA=E3=82=BA?= =?UTF-8?q?=E3=83=A0=E3=81=AE=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app.js b/app.js index 7bf56ef..9dc5906 100644 --- a/app.js +++ b/app.js @@ -1,11 +1,14 @@ 'use strict' +const memo = new Map() +memo.set(0, 0) +memo.set(1, 1) function fib(n) { - if (n === 0) { - return 0 - } else if (n === 1) { - return 1 + if (memo.has(n)) { + return memo.get(n) } - return fib(n - 1) + fib(n - 2) + const value = fib(n - 1) + fib(n - 2) + memo.set(n, value) + return value } const length = 40 for (let i = 0; i <= length; i++) { From d0b0a80cd7e0d1e0d4d2baa289c31e99f104c222 Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Mon, 16 Oct 2023 22:48:51 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=E3=83=88=E3=83=AA=E3=83=9C=E3=83=8A?= =?UTF-8?q?=E3=83=83=E3=83=81=E6=95=B0=E5=88=97=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app.js b/app.js index 9dc5906..807a2d5 100644 --- a/app.js +++ b/app.js @@ -2,11 +2,12 @@ const memo = new Map() memo.set(0, 0) memo.set(1, 1) +memo.set(2, 1) function fib(n) { if (memo.has(n)) { return memo.get(n) } - const value = fib(n - 1) + fib(n - 2) + const value = fib(n - 1) + fib(n - 2) + fib(n - 3) memo.set(n, value) return value } From d4858c0c5911b44aaf1f61f11f2c9b3c4b34b688 Mon Sep 17 00:00:00 2001 From: ShokiYokota Date: Mon, 16 Oct 2023 22:52:51 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=E3=83=9F=E3=82=B9=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.js b/app.js index 807a2d5..42c55b4 100644 --- a/app.js +++ b/app.js @@ -1,7 +1,7 @@ 'use strict' const memo = new Map() memo.set(0, 0) -memo.set(1, 1) +memo.set(1, 0) memo.set(2, 1) function fib(n) { if (memo.has(n)) {