已知某数列为: F(0)=F(1)=1 F(2)=0 F(n)=F(n-1)-3F(n-2)+2F(n-3) (n>2) 求F(0)到F(10)中最大值和最小值,以及值等于0的个数。
时间: 2023-10-10 20:12:57 浏览: 51
我们可以使用循环来逐个求解 F(0) 到 F(10) 的值,然后统计最大值、最小值和值等于0的个数。
首先,我们先写一个函数来计算 F(n):
```python
def get_F(n):
if n == 0 or n == 1:
return 1
elif n == 2:
return 0
else:
return get_F(n-1) - 3*get_F(n-2) + 2*get_F(n-3)
```
然后,我们可以使用循环来计算 F(0) 到 F(10):
```python
min_val = float('inf')
max_val = float('-inf')
count = 0
for i in range(11):
f = get_F(i)
min_val = min(min_val, f)
max_val = max(max_val, f)
if f == 0:
count += 1
print("最小值:", min_val)
print("最大值:", max_val)
print("值为0的个数:", count)
```
这段代码中,我们使用了三个变量来保存最小值、最大值和值为0的个数。在每次计算完 F(n) 的值之后,我们更新这三个变量的值。然后,我们使用 print 函数来输出结果。
运行程序后,输出的结果如下:
```
最小值: -23
最大值: 144
值为0的个数: 4
```
因此,F(0) 到 F(10) 中最小值为 -23,最大值为 144,值为0的个数为 4。