Created
February 11, 2015 01:40
-
-
Save eugeneai/06c9bf1a1c969e9f0024 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
program fibnums; | |
{$APPTYPE CONSOLE} | |
uses | |
SysUtils; | |
Const | |
MaxVecLen=1024; | |
Type | |
TVec = Array [1..MaxVecLen] of int64; | |
{ 1, 1, 2, 3, 5, . . . .} | |
function input_last_number():integer; | |
var | |
n:integer; | |
begin | |
write('Enter index of the lat number:'); | |
readln(n); | |
input_last_number:=n; | |
end; | |
procedure generate(n:integer; var nums:TVec); | |
var | |
i:integer; | |
begin | |
nums[1]:=1; | |
nums[2]:=1; | |
if n<0 then | |
begin | |
writeln('Check the input of the procedure: n must be greater or equal to 0!'); | |
exit; | |
end; | |
if n<=2 then exit; | |
for i:=3 to n do | |
begin | |
nums[i]:=nums[i-1]+nums[i-2]; | |
end; | |
end; | |
procedure print_vec(nums:TVec; n:integer); | |
var | |
i:integer; | |
begin | |
if n<0 then | |
begin | |
exit; | |
end; | |
if n=0 then | |
begin | |
writeln('The result sequence is empty!'); | |
exit; | |
end; | |
writeln('The result is as follows:'); | |
for i:=1 to n do | |
begin | |
write(nums[i]); | |
if i<n then write(', '); | |
end; | |
writeln; | |
end; | |
procedure print_div(nums:TVec; n:integer); | |
var | |
i:integer; | |
begin | |
for i:=2 to n do | |
begin | |
writeln((nums[i-1]/nums[i]):30:28); | |
end; | |
end; | |
{ | |
a/b = b/(a+b) | |
} | |
var | |
n:integer; | |
nums:TVec; | |
begin | |
{ TODO -oUser -cConsole Main : Insert code here } | |
n:=input_last_number(); | |
generate(n, nums); | |
print_vec(nums, n); | |
writeln; | |
print_div(nums, n); | |
readln; | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment