From ef1bf4921ee4127d461eec03a14c9070d193345c Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 11 Feb 2019 16:59:01 -0500 Subject: Init. --- fibonacci/.gitignore | 2 ++ fibonacci/Cargo.lock | 4 ++++ fibonacci/Cargo.toml | 7 +++++++ fibonacci/src/main.rs | 31 +++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 fibonacci/.gitignore create mode 100644 fibonacci/Cargo.lock create mode 100644 fibonacci/Cargo.toml create mode 100644 fibonacci/src/main.rs (limited to 'fibonacci') diff --git a/fibonacci/.gitignore b/fibonacci/.gitignore new file mode 100644 index 0000000..53eaa21 --- /dev/null +++ b/fibonacci/.gitignore @@ -0,0 +1,2 @@ +/target +**/*.rs.bk diff --git a/fibonacci/Cargo.lock b/fibonacci/Cargo.lock new file mode 100644 index 0000000..06aa71c --- /dev/null +++ b/fibonacci/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "fibonacci" +version = "0.1.0" + diff --git a/fibonacci/Cargo.toml b/fibonacci/Cargo.toml new file mode 100644 index 0000000..60bf227 --- /dev/null +++ b/fibonacci/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "fibonacci" +version = "0.1.0" +authors = ["Adam Carpenter "] +edition = "2018" + +[dependencies] diff --git a/fibonacci/src/main.rs b/fibonacci/src/main.rs new file mode 100644 index 0000000..0b4f22b --- /dev/null +++ b/fibonacci/src/main.rs @@ -0,0 +1,31 @@ +use std::env; + +fn fib(n: u32) -> u32 { + + if n == 0 || n == 1 { + return n; + } + else { + return fib(n - 1) + fib(n - 2); + } + +} + +fn main() { + // grab iterations + let iterations: u32 = match env::args().nth(1) { + Some(s) => { + let attempt: u32 = s.trim().parse() + .expect("error: could not parse iterations"); + attempt + }, + None => { + eprintln!("error: usage: fibonacci [iterations]"); + return; + }, + }; + + for i in 0..iterations { + println!("{}", fib(i)); + } +} -- cgit v1.2.3