Could you find the equation that gives the following number sequence : 1, 4, 13, 40, 121, 364, etc.
The sequence of numbers 1, 4, 13, 40, 121, 364 follows the pattern that the next number is 3 times the current number plus one. So one possible equation that gives this number sequence is $x_{n+1} = 3 x_n + 1$.
Please write a function in haskell that generates this sequence as a List
Okay! Here i define a variable named `cSeq` in a main function and print a list of the first few terms of the sequence to the console using my previous description of the formula 3 times the current number plus one:
```haskell
main :: IO ()
main = do
    let cSeq = iterate (\n -> 3 * n + 1) 0
    print (take 11 cSeq)
```

However, as i mentioned that is one possible equation, there many more formulas out there for the same sequence. Here is another example which computes in less time than my previous code using `a(n) = (3^n - 1)/2` to generate the sequence in Haskell.
```haskell
main :: IO ()
main = do
    let cSeq = map (\n -> (3^n - 1) `div` 2) [0..10]
    print cSeq
```

In that code, we use the map function to apply the formula `an = (3^n - 1)/2` to each element in the list `[0,1,2,3,4,5,6,7,8,9]` (which corresponds to the indices of the first 10 terms in the sequence). Then, we use print to print the resulting list to the console.

When you run either of those, both should print out the following output:
```md
[0,1,4,13,40,121,364,1093,3280,9841,29524]
```