2024-11-06
今天刚接触斐波那契数列
的概念:
后面一个数是前面两个数之和。
示例:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
通过不同语言来写它的数组实现。
注意,还有很多实现,比如说递归实现
。但是一个我想找到一个实现起来容易理解的方法,二个我想将所有值都保留,所以选了数组实现
。
def fib_array(n):
# 处理特殊情况
if n <= 0:
return []
if n == 1:
return [0]
# 初始化数组,包含序列的前两个数
fib = [0, 1]
# 循环生成剩余的数
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
return fib
print(fib_array(10))
function fibArray(n){
let arr = [0, 1];
for(let i = 2; i < n; i++){
arr[i] = arr[i - 1] + arr[i - 2];
}
console.log(arr);
}
fibArray(10);
public class Fibonacci{
public static void main(String[] args) {
int n = 10;
// 创建固定长度的数组
int[] fibonacci = new int[n];
// 设置前两个数
fibonacci[0] = 0;
fibonacci[1] = 1;
// 生成剩余的斐波那契数
for (int i = 2; i < n; i++) {
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}
// 打印
for (int i = 0; i < fibonacci.length; i++) {
System.out.print(fibonacci[i] + " ");
}
System.out.println(); // 换行
}
}
fn main() {
let n = 10;
// 创建固定长度的数组,初始化为0
let mut fibonacci = vec![0; n];
// 设置前两个数
fibonacci[0] = 0;
fibonacci[1] = 1;
// 生成剩余的斐波那契数
for i in 2..n {
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}
// 打印
for i in 0..fibonacci.len() {
print!("{} ", fibonacci[i]);
}
println!(); // 换行
}