How to resolve the algorithm Continued fraction step by step in the Elixir programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Continued fraction step by step in the Elixir programming language

Table of Contents

Problem Statement

The task is to write a program which generates such a number and prints a real representation of it. The code should be tested by calculating and printing the square root of 2, Napier's Constant, and Pi, using the following coefficients: For the square root of 2, use

a

0

= 1

{\displaystyle a_{0}=1}

then

a

N

= 2

{\displaystyle a_{N}=2}

.

b

N

{\displaystyle b_{N}}

is always

1

{\displaystyle 1}

. For Napier's Constant, use

a

0

= 2

{\displaystyle a_{0}=2}

, then

a

N

= N

{\displaystyle a_{N}=N}

.

b

1

= 1

{\displaystyle b_{1}=1}

then

b

N

= N − 1

{\displaystyle b_{N}=N-1}

. For Pi, use

a

0

= 3

{\displaystyle a_{0}=3}

then

a

N

= 6

{\displaystyle a_{N}=6}

.

b

N

= ( 2 N − 1

)

2

{\displaystyle b_{N}=(2N-1)^{2}}

.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Continued fraction step by step in the Elixir programming language

Source code in the elixir programming language

defmodule CFrac do
  def compute([a | _], []), do: a
  def compute([a | as], [b | bs]), do: a + b/compute(as, bs)

  def sqrt2 do
    a = [1 | Stream.cycle([2]) |> Enum.take(1000)]
    b = Stream.cycle([1]) |> Enum.take(1000)
    IO.puts compute(a, b)
  end 

  def exp1 do
    a = [2 | Stream.iterate(1, &(&1 + 1)) |> Enum.take(1000)]
    b = [1 | Stream.iterate(1, &(&1 + 1)) |> Enum.take(999)]
    IO.puts compute(a, b)
  end 

  def pi do
    a = [3 | Stream.cycle([6]) |> Enum.take(1000)]
    b = 1..1000 |> Enum.map(fn k -> (2*k - 1)**2 end)
    IO.puts compute(a, b)
  end 
end


  

You may also check:How to resolve the algorithm Home primes step by step in the Factor programming language
You may also check:How to resolve the algorithm Read a specific line from a file step by step in the J programming language
You may also check:How to resolve the algorithm Integer comparison step by step in the R programming language
You may also check:How to resolve the algorithm Dutch national flag problem step by step in the 11l programming language
You may also check:How to resolve the algorithm Active object step by step in the SuperCollider programming language