diff options
author | Adam Carpenter <gitlab@53hor.net> | 2019-07-09 15:14:04 -0400 |
---|---|---|
committer | Adam Carpenter <gitlab@53hor.net> | 2019-07-09 15:14:04 -0400 |
commit | 7e8ee5ed9cad6484e9f13f81731b102ced58402e (patch) | |
tree | 5395402ab07bbb5a659dbd68c701e22a1227202f /rust-book/fibonacci/src | |
download | learning-rust-7e8ee5ed9cad6484e9f13f81731b102ced58402e.tar.xz learning-rust-7e8ee5ed9cad6484e9f13f81731b102ced58402e.zip |
Init.
Diffstat (limited to 'rust-book/fibonacci/src')
-rwxr-xr-x | rust-book/fibonacci/src/main.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/rust-book/fibonacci/src/main.rs b/rust-book/fibonacci/src/main.rs new file mode 100755 index 0000000..0b4f22b --- /dev/null +++ b/rust-book/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)); + } +} |