Fibonacci sequence: Difference between revisions
Content added Content deleted
Space Ghost (talk | contribs) (Added Odin Language Iterative Solution) |
|||
Line 9,832: | Line 9,832: | ||
endif |
endif |
||
endfunction</syntaxhighlight> |
endfunction</syntaxhighlight> |
||
=={{header|Odin}}== |
|||
Fibinacci Sequence - Iterative Solution<br> |
|||
Odin Build: dev-2023-07-nightly:3072479c |
|||
<syntaxhighlight lang="odin"> |
|||
// Packge Name and Imports |
|||
package fib |
|||
import "core:fmt" |
|||
// Global Variable Declarations |
|||
prev: u128 = 0 |
|||
current: u128 = 1 |
|||
next: u128 |
|||
// Main proc |
|||
main :: proc() { |
|||
fmt.println("\nFibonacci Seq - starting n and n+1 from 0 and 1:") |
|||
fmt.println("------------------------------------------------") |
|||
for j: u128 = 0; j <= 20; j += 1 { |
|||
fmt.println("n:", j, "\tFib:", fibi(j)) |
|||
} |
|||
} |
|||
// Procedures |
|||
fibi :: proc(n: u128) -> u128 { |
|||
if n < 2 { |
|||
return n |
|||
} else { |
|||
for i: u128 = 2; i <= n; i += 1 { |
|||
next = prev + current |
|||
prev = current |
|||
current = next |
|||
return current |
|||
} |
|||
} |
|||
return 0 |
|||
} |
|||
// End of Source Code |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
First 20 Fibonacci Numbers |
|||
Starting n and n+1 from 0 and 1 |
|||
------------------------------- |
|||
n: 0 Fib: 0 |
|||
n: 1 Fib: 1 |
|||
n: 2 Fib: 1 |
|||
n: 3 Fib: 2 |
|||
n: 4 Fib: 3 |
|||
n: 5 Fib: 5 |
|||
n: 6 Fib: 8 |
|||
n: 7 Fib: 13 |
|||
n: 8 Fib: 21 |
|||
n: 9 Fib: 34 |
|||
n: 10 Fib: 55 |
|||
n: 11 Fib: 89 |
|||
n: 12 Fib: 144 |
|||
n: 13 Fib: 233 |
|||
n: 14 Fib: 377 |
|||
n: 15 Fib: 610 |
|||
n: 16 Fib: 987 |
|||
n: 17 Fib: 1597 |
|||
n: 18 Fib: 2584 |
|||
n: 19 Fib: 4181 |
|||
n: 20 Fib: 6765 |
|||
------------------------------- |
|||
</pre> |
|||
=={{header|Oforth}}== |
=={{header|Oforth}}== |