# Fibonacci in Rust

Published on 05 October 2018 (Updated: 08 May 2023)

Welcome to the Fibonacci in Rust page! Here, you'll find the source code for this program as well as a description of how the program works.

## Current Solution

``````use std::env::args;
use std::process::exit;
use std::str::FromStr;

const LIMIT: i32 = 93;

fn usage() -> ! {
println!("Usage: please input the count of fibonacci numbers to output");
exit(0);
}

fn parse_int<T: FromStr>(s: &str) -> Result<T, <T as FromStr>::Err> {
s.trim().parse::<T>()
}

fn fibonacci(terms: i32) {
if terms > LIMIT {
println!("The number of terms you want to calculate is too big!");
println!("The limit is {}.", LIMIT);
} else {
let mut a = 0u64;
let mut b = 1u64;
for i in 1..(terms + 1) {
(a, b) = (b, a + b);
println!("{i}: {a}");
}
}
}

fn main() {
let mut args = args().skip(1);

// Exit if 1st command-line argument not an integer
let mut input_num: i32 = args
.next()
.and_then(|s| parse_int(&s).ok())
.unwrap_or_else(|| usage());

// Show request number of Fibonacci numbers
fibonacci(input_num);
}

``````

Fibonacci in Rust was written by:

• Noah Nichols
• rzuckerm

If you see anything you'd like to change or update, please consider contributing.

## How to Implement the Solution

No 'How to Implement the Solution' section available. Please consider contributing.

## How to Run the Solution

No 'How to Run the Solution' section available. Please consider contributing.