# Basic Pascal Tutorial/Chapter 3/Solution/zh CN

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

3Ea - 参考答案 (原作者: Tao Yue, 状态: 未更改)

```(* Author:    Tao Yue
Date:      19 July 1997
Description:
Find the first 10 Fibonacci numbers
Version:
1.0 - original version
*)

program Fibonacci;

var
Fibonacci1, Fibonacci2 : integer;
temp : integer;
count : integer;

begin    (* Main *)
writeln ('First ten Fibonacci numbers are:');
count := 0;
Fibonacci1 := 0;
Fibonacci2 := 1;
repeat
write (Fibonacci2:7);
temp := Fibonacci2;
Fibonacci2 := Fibonacci1 + Fibonacci2;
Fibonacci1 := Temp;
count := count + 1
until count = 10;
writeln;

(* Of course, you could use a FOR loop or a WHILE loop
to solve this problem. *)

end.     (* Main *)
```

```(* Author:    Tao Yue
Date:      13 July 2000
Description:
Display all powers of two up to 20000, five per line
Version:
1.0 - original version
*)

program PowersofTwo;

const
numperline = 5;
maxnum = 20000;
base = 2;

var
number : longint;
linecount : integer;

begin    (* Main *)
writeln ('Powers of ', base, ', 1 <= x <= ', maxnum, ':');
(* Set up for loop *)
number := 1;
linecount := 0;
(* Loop *)
while number <= maxnum do
begin
linecount := linecount + 1;
(* Print a comma and space unless this is the first
number on the line *)
if linecount > 1 then
write (', ');
(* Display the number *)
write (number);
(* Print a comma and go to the next line if this is
the last number on the line UNLESS it is the
last number of the series *)
if (linecount = numperline) and not (number * 2 > maxnum) then
begin
writeln (',');
linecount := 0
end;
(* Increment number *)
number := number * base;
end;  (* while *)
writeln;

(* This program can also be written using a
REPEAT..UNTIL loop. *)

end.     (* Main *)
```

 上一页 目录 下一页