Google introduced Carbon programming language with a modern language syntax to become a successor to C++.
One of the challenges many beginner developers are facing is to run basic examples since the language is in a very early stage without even having a compiler. So here is a working example to print fibonacci series using Carbon language.
How to print fibonacci series in carbon lang
To recollect Fibonacci series, here the following sequence that we want to print.
0, 1, 1, 2, 3, 5, 8, 13, 21 ....
Currently, there is no support <
symbol yet in Carbon language. Also for
loop is not yet supported in carbon language. So we will use different approach.
To print fibonacci series in carbon, we will use combination of recursion + iteration to print fibonacci sequence. Here are 2 steps we follow.
- Print nth fibonacci number in Carbon programming language
- Print fibonacci sequence using While loop in carbonlang
Let's dive in
Step 1: Print nth fibonacci number in Carbon language
We use a recursive code to calculate nth fibonacci number using the follow recursive formula.
fib(n) = fib(n-1) + fib(n-2);
if n <= 1 we can just print n.
Let's write code in carbon language.
fn Square(x: i32) -> i32 {
return x * x;
}
fn fib(n: i32) -> i32 {
if(n == 0) {
return 0;
}
if(n == 1) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
Step 2: Print fibonacci sequence using While loop in carbonlang
The next step is the call fib(n) for n times. This can be achieved using while loop.
Observe fib(i) inside Print
method.
fn fibSeries(count: i32) {
var i: i32 = count;
while(not (i == 0)) {
Print("{0}", fib(i));
i = i - 1;
}
}
Print fibonacci sequence in carbonlang
Connecting two pieces together, we can have
package sample api;
fn Square(x: i32) -> i32 {
return x * x;
}
fn fib(n: i32) -> i32 {
if(n == 0) {
return 0;
}
if(n == 1) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
fn fibonacciSeries(count: i32) {
var i: i32 = count;
while(not (i == 0)) {
Print("{0}", fib(i));
i = i - 1;
}
}
fn Main() -> i32 {
var n: i32 = 6;
Print("Input n: {0}", n);
Print("nth fibonacci number result: {0}", fib(n));
Print("-----------", n);
Print("Fibonacci series for n = {0}", n);
fibonacciSeries(10);
return 0;
}
The output for this would be
Input n: 6
nth fibonacci number result: 8
-----------
Fibonacci series for n = 6
55
34
21
13
8
5
3
2
1
1
You can try this by yourself using carbon language compiler explorer online: Compiler explorer
Additional Reading in Carbon language:
Carbon language memory safety for secure memory management: Carbon language memory management
This is a part of carbon language series for beginners. Will share carbon language tips and working examples regularly. You can view full carbon language tutorial video here.
Carbon language short course
If you find other better ways to print fibonacci series in carbon, share your thoughts in the comments.