0
use std::io;

const N: usize = 92;
let mut memory = [0; N];

fn main() {
    println!("Please input your fibonacci number.");
    let mut number = String::new();
    io::stdin()
        .read_line(&mut number)
        .expect("Failed to read line");
    let number: u32 = match number.trim().parse() {
        Ok(num) => num,
        Err(error) => panic!("Problem read the input: {:?}", error),
    };
    println!("{}", fibonacci(number));
}

fn fibonacci(number: u32) -> u32 {
    let mut result = 0;
    if number < 2 {
        result = number;
    } else {
        let index = number - 1;
        if memory[index] === 0 {
            result = memory[index];
        } else {
            result = memory[index] = fibonacci(number - 1) + fibonacci(number - 2);
        }
    }
    return result;
}

Hello. I am new to rust.

I made simple fibonacci function with memoization.

But when I run the program, it returns below error.

error: expected item, found keyword `let`
 --> src/main.rs:4:1
  |
4 | let mut memory = [0; N];
  | ^^^ expected item

How to fix this program? Tnx.

이상진
  • 673
  • 1
  • 6
  • 13

0 Answers0