# Fibonacci n-step number sequences

This page is the answer to the task Fibonacci n-step number sequences in the Rosetta Code.

## Contents

### Description (from Rosetta Code)

These number series are an expansion of the ordinary Fibonacci sequence where:

- For we have the Fibonacci sequence; with initial values and
- For we have the tribonacci sequence; with initial values and
- For we have the tetranacci sequence; with initial values and

... - For general we have the Fibonacci -step sequence - ; with initial values of the first values of the 'th Fibonacci -step sequence ; and 'th value of this 'th sequence being

For small values of , Greek numeric prefixes are sometimes used to individually name each series.

Series name | Values | |
---|---|---|

2 | fibonacci | 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ... |

3 | tribonacci | 1 1 2 4 7 13 24 44 81 149 274 504 927 1705 3136 ... |

4 | tetranacci | 1 1 2 4 8 15 29 56 108 208 401 773 1490 2872 5536 ... |

5 | pentanacci | 1 1 2 4 8 16 31 61 120 236 464 912 1793 3525 6930 ... |

6 | hexanacci | 1 1 2 4 8 16 32 63 125 248 492 976 1936 3840 7617 ... |

7 | heptanacci | 1 1 2 4 8 16 32 64 127 253 504 1004 2000 3984 7936 ... |

8 | octonacci | 1 1 2 4 8 16 32 64 128 255 509 1016 2028 4048 8080 ... |

9 | nonanacci | 1 1 2 4 8 16 32 64 128 256 511 1021 2040 4076 8144 ... |

10 | decanacci | 1 1 2 4 8 16 32 64 128 256 512 1023 2045 4088 8172 ... |

Allied sequences can be generated where the initial values are changed:
**The Lucas series** sums the two preceding values like the fibonacci series for but uses as its initial values.

**Task**

- Write a function to generate Fibonacci -step number sequences given its initial values and assuming the number of initial values determines how many previous values are summed to make the next number of the series.
- Use this to print and show here at least the first ten members of the Fibo/tribo/tetra-nacci and Lucas sequences.

### Solution

#### Main function

According to the requirements, the program must generate a series, and the order (Fibonacci, Tribonacci, etc) should be determined according with the initial values.

In this case, the number **n** indicates how many terms of the series will be generated.

The following generates a Fibonacci series of 20 terms:

The following generates a Lucas series of 20 terms:

The following generates a Tribonacci series of 20 terms:

#### Generating initial values

The initial values can be generated by the following function.

Note that it is a recursive function, and it calls the previously defined function. It requires the initial values as a seed, for Fibonacci style (Fibonacci, Tribonacci, etc), and for Lucas style.

The following generates the initial values for Fibonacci.

The following generates the initial values for Lucas.

#### Generating tables of series for Fibonacci and Lucas

This generates a tables of series for Fibonacci (25 terms), for orders 2 to 20 (Fibonacci, Tribonacci, etc.)

This generates a tables of series for Lucas (25 terms), for orders 2 to 20