用PL0语言求Fibonacci数列前m个中偶数位的数
时间: 2024-05-06 08:18:44 浏览: 49
从低位开始,求出偶数位的数,然后组成新数,放入变量m中
以下是使用PL/0语言求Fibonacci数列前m个中偶数位的数的代码:
```
const
m = 10; // 前m个
var
fib: array[0..m] of integer;
i, j, k: integer;
procedure Fibonacci(n: integer);
begin
fib[0] := 0;
fib[1] := 1;
for i := 2 to n do
fib[i] := fib[i-1] + fib[i-2];
end;
begin
Fibonacci(m);
writeln('Fibonacci数列前', m, '个中偶数位的数为:');
for i := 1 to m do
begin
j := fib[i];
while j > 0 do
begin
k := j mod 10;
j := j div 10;
if k mod 2 = 0 then
begin
writeln(fib[i]);
break;
end;
end;
end;
end.
```
程序中先定义常量m,表示要求的前m个Fibonacci数列中的偶数位数。然后定义一个长度为m+1的数组fib,用来存储Fibonacci数列。
接着定义一个Fibonacci过程,用于计算Fibonacci数列。在主程序中,先调用Fibonacci过程,得到Fibonacci数列。然后遍历Fibonacci数列中的每一个数,对每个数做如下处理:
- 用j变量存储当前数值。
- 不断取j的个位数,判断其是否为偶数。如果是,输出当前Fibonacci数列中的数,然后跳出while循环。
- 将j除以10,继续取下一个数位的数值。
最终输出的结果就是前m个Fibonacci数列中的偶数位的数。
阅读全文