aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/examples/fibonacci.v
blob: 13056d236f65d40198f15d92c0d157ca1cba4a9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// This program displays the fibonacci sequence
// import os

fn main() {
	// Check for user input
	// if os.args.len != 2 {
	//		println('usage: fibonacci [rank]')

	// Exit
	//		return
	//	}

	// Parse first argument and cast it to int
	//	stop := os.args[1].int()
	stop := 23
	// Can only calculate correctly until rank 92
	if stop > 92 {
		println('rank must be 92 or less')
		return
	}

	// Three consecutive terms of the sequence
	mut a := 0
	mut b := 0
	mut c := 1
	println(a + c + c)
	for _ in 0 .. stop {
		// Set a and b to the next term
		a = b
		b = c
		// Compute the new term
		c = a + b

		// Print the new term
		println(c)
	}
}