From d3fe0763cdd5c155ac7bc035c8d17d2cbbb34700 Mon Sep 17 00:00:00 2001 From: Yueh-Hua Tu Date: Mon, 13 Apr 2020 13:52:58 +0800 Subject: [PATCH] Add Fibonacci --- .gitignore | 2 +- Fibonacci/Project.toml | 13 +++++++++++++ Fibonacci/README.md | 33 +++++++++++++++++++++++++++++++++ Fibonacci/src/Fibonacci.jl | 9 +++++++++ Fibonacci/test/runtests.jl | 10 ++++++++++ 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 Fibonacci/Project.toml create mode 100644 Fibonacci/README.md create mode 100644 Fibonacci/src/Fibonacci.jl create mode 100644 Fibonacci/test/runtests.jl diff --git a/.gitignore b/.gitignore index 145cb1a..f887265 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .DS_Store -/Manifest.toml +*/Manifest.toml /dev/ diff --git a/Fibonacci/Project.toml b/Fibonacci/Project.toml new file mode 100644 index 0000000..e9992cf --- /dev/null +++ b/Fibonacci/Project.toml @@ -0,0 +1,13 @@ +name = "Fibonacci" +uuid = "59099692-28a4-44f4-8929-e168c0ee2466" +authors = ["Yueh-Hua Tu "] +version = "0.1.0" + +[compat] +julia = "1.4" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/Fibonacci/README.md b/Fibonacci/README.md new file mode 100644 index 0000000..0b2887c --- /dev/null +++ b/Fibonacci/README.md @@ -0,0 +1,33 @@ +# 費氏數列 + +[費氏數列](https://www.wikiwand.com/zh-hant/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97),又稱黃金分割數列,是自然界中非常常見的數列。它是由以下遞迴式所定義: + +![](https://i.imgur.com/7ggYrnU.png) + +產生以下數列: + +``` +0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... +``` + +請根據遞迴撰寫產生費氏數列的程式,輸入為數列的序數,輸出為費氏數列的數值。 + +## 測試 + +```julia +@test fibonacci(0) .== 0 +@test fibonacci(1) .== 1 +@test fibonacci(2) .== 1 +@test fibonacci(4) .== 3 +``` + +### 測試資料 + +```julia +fibonacci(0) +fibonacci(1) +fibonacci(2) +fibonacci(4) +fibonacci(10) +fibonacci(50) +``` diff --git a/Fibonacci/src/Fibonacci.jl b/Fibonacci/src/Fibonacci.jl new file mode 100644 index 0000000..da3039c --- /dev/null +++ b/Fibonacci/src/Fibonacci.jl @@ -0,0 +1,9 @@ +module Fibonacci + +src = [] + +for s = src + include("$(s).jl") +end + +end # module diff --git a/Fibonacci/test/runtests.jl b/Fibonacci/test/runtests.jl new file mode 100644 index 0000000..7a629cd --- /dev/null +++ b/Fibonacci/test/runtests.jl @@ -0,0 +1,10 @@ +using Fibonacci +using Test + +tests = [] + +@testset "Fibonacci.jl" begin + for t in tests + include("$(t).jl") + end +end