有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后,每个月又生1对兔子,第20个月后共有多少对兔子?
File Edit Search Run Compile Debug Tools Options Window Help
╔═[■]═══════════════════════════════ TZ.PAS ═════════════════════════════1═[↕]═╗
║program lx353; ▲
║const ■
║n=20; ▒
║var a0,a1,a2,i:integer; ▒
║begin ▒
║a0:=0; ▒
║a1:=1; ▒
║for i:=2 to n do ▒
║ begin ▒
║ a2:=a0+a1; ▒
║ writeln(i,' ',a0,' ',a1,' ',a2); ▒
║ a0:=a1; ▒
║ a1:=a2; ▒
║ ▒
║ end; ▒
║ ▒
║end. ▒
║ ▒
║ ▒
║ ▒
║ ▼
我是这样理解的:设置3个变量 a0刚出生的兔子(即要过2个月才能生的兔子)
a1(具有生育能力的兔子)
a2(兔子总数)
关系a2:=a0+a1;
运行结果
Turbo Pascal Version 7.0 Copyright (c) 1983,92 Borland International
月份a0a1 a2
2 0 1 1
3 1 1 2
4 1 2 3
5 2 3 5
6 3 5 8
7 5 8 13
8 8 13 21
9 13 21 34
10 21 34 55
11 34 55 89
12 55 89 144
13 89 144 233
14 144 233 377
15 233 377 610
16 377 610 987
17 610 987 1597
18 987 1597 2584
19 1597 2584 4181
20 2584 4181 6765
不知道是否有递归的感觉
浙公网安备 33010602011771号