Download code

Jump to: navigation, search

Back to Fibonacci_numbers_(Icon)

Download for Windows: single file, zip

Download for UNIX: single file, zip, tar.gz, tar.bz2

fib.i

 1 # The authors of this work have released all rights to it and placed it
 2 # in the public domain under the Creative Commons CC0 1.0 waiver
 3 # (http://creativecommons.org/publicdomain/zero/1.0/).
 4 # 
 5 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 6 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 7 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 8 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 9 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
11 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12 # 
13 # Retrieved from: http://en.literateprograms.org/Fibonacci_numbers_(Icon)?oldid=15372
14 
15 
16 procedure fib(n)
17 	if n<2 then return n
18 	else return fib(n-1)+fib(n-2)
19 end
20 
21 
22 
23 
24 procedure fastfib(n)
25 	local prevfib, currfib, nfib
26 	nfib:=2
27 	prevfib:=1
28 	currfib:=1
29 	while nfib<n do {
30 		prevfib:=:currfib
31 		currfib+:=prevfib
32 		nfib+:=1
33 	}
34 	return currfib
35 end
36 
37 procedure main()
38 	local n
39 
40 	n:=1
41 	while n<30 do {
42 		write(fib(n))
43 		n+:=1 
44 	}
45 
46 	n:=1
47 	while n<30 do {
48 		write(fastfib(n))
49 		n+:=1 
50 	}
51 end
52 
53 


hijacker
hijacker
hijacker
hijacker