RosettaCodeData/Task/Fibonacci-sequence/Eiffel/fibonacci-sequence.e

51 lines
850 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
class
2026-04-30 12:34:36 -04:00
APPLICATION
2023-07-01 11:58:00 -04:00
create
2026-04-30 12:34:36 -04:00
make
2023-07-01 11:58:00 -04:00
feature
2026-04-30 12:34:36 -04:00
fibonacci (n: INTEGER): INTEGER
require
non_negative: n >= 0
local
i, n2, n1, tmp: INTEGER
do
n2 := 0
n1 := 1
from
i := 1
until
i >= n
loop
tmp := n1
n1 := n2 + n1
n2 := tmp
i := i + 1
end
Result := n1
if n = 0 then
Result := 0
end
end
2023-07-01 11:58:00 -04:00
feature {NONE} -- Initialization
2026-04-30 12:34:36 -04:00
make
-- Run application.
do
print (fibonacci (0))
print (" ")
print (fibonacci (1))
print (" ")
print (fibonacci (2))
print (" ")
print (fibonacci (3))
print (" ")
print (fibonacci (4))
print ("%N")
end
2023-07-01 11:58:00 -04:00
end