v / examples
Raw file | 36 loc (30 sloc) | 622 bytes | Latest commit hash a2338dbb7
1// This program displays the fibonacci sequence
2import os
3
4fn main() {
5 // Check for user input
6 if os.args.len != 2 {
7 println('usage: fibonacci [rank]')
8
9 return
10 }
11
12 // Parse first argument and cast it to int
13
14 stop := os.args[1].int()
15 // Can only calculate correctly until rank 92
16 if stop > 92 {
17 println('rank must be 92 or less')
18 return
19 }
20
21 // Three consecutive terms of the sequence
22 mut a := i64(0)
23 mut b := i64(0)
24 mut c := i64(1)
25 println(a + b + c)
26 for _ in 0 .. stop {
27 // Set a and b to the next term
28 a = b
29 b = c
30 // Compute the new term
31 c = a + b
32
33 // Print the new term
34 println(c)
35 }
36}