用rust语言生成n阶斐波那契数列
时间: 2023-10-23 20:15:36 浏览: 35
可以使用下面的代码来用 Rust 语言生成 n 阶斐波那契数列:
```rust
fn fibonacci(n: i32) -> Vec<i32> {
if n < 2 {
return vec![1];
}
let mut fib = vec![1, 1];
for i in 2..n {
let next = fib[i-1] + fib[i-2];
fib.push(next);
}
fib
}
fn main() {
let fib_seq = fibonacci(5);
println!("{:?}", fib_seq);
}
```
上面的代码将打印出 `[1, 1, 2, 3, 5]`,这是一个 5 阶斐波那契数列。
相关问题
rust实现的非波那契数列
非波那契数列是指一个数列,其中数列中的每个数字是上一个数字与它前面的数字的和,但不是严格的斐波那契数列。在 Rust 中实现非波那契数列可以使用迭代器,通过迭代器来生成连续的数字。
代码如下:
```
struct Fibonacci {
curr: u64,
next: u64,
}
impl Iterator for Fibonacci {
type Item = u64;
fn next(&mut self) -> Option<u64> {
let new_next = self.curr + self.next;
self.curr = self.next;
self.next = new_next;
Some(self.curr)
}
}
fn fibonacci() -> Fibonacci {
Fibonacci { curr: 1, next: 1 }
}
fn main() {
let mut sequence = fibonacci();
for i in 0..10 {
println!("{}: {}", i, sequence.next().unwrap());
}
}
```
这个代码实现了一个非波那契数列的迭代器,它生成了前10个数字。
用rust语言生成一段斐波那契数列的代码
以下是用 Rust 语言生成斐波那契数列的代码:
```rust
fn fibonacci(n: i32) -> i32 {
if n < 2 {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
fn main() {
let n = 10;
for i in 0..n {
print!("{} ", fibonacci(i));
}
}
```
上面的代码中,`fibonacci` 函数递归地计算第 n 个斐波那契数。在 `main` 函数中,我们打印了前 10 个斐波那契数。
阅读全文