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

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Continued fraction step by step in the Groovy 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 Groovy programming language

Source code in the groovy programming language

import java.util.function.Function

import static java.lang.Math.pow

class Test {
    static double calc(Function<Integer, Integer[]> f, int n) {
        double temp = 0

        for (int ni = n; ni >= 1; ni--) {
            Integer[] p = f.apply(ni)
            temp = p[1] / (double) (p[0] + temp)
        }
        return f.apply(0)[0] + temp
    }

    static void main(String[] args) {
        List<Function<Integer, Integer[]>> fList = new ArrayList<>()
        fList.add({ n -> [n > 0 ? 2 : 1, 1] })
        fList.add({ n -> [n > 0 ? n : 2, n > 1 ? (n - 1) : 1] })
        fList.add({ n -> [n > 0 ? 6 : 3, (int) pow(2 * n - 1, 2)] })

        for (Function<Integer, Integer[]> f : fList)
            System.out.println(calc(f, 200))
    }
}


  

You may also check:How to resolve the algorithm Convert decimal number to rational step by step in the Julia programming language
You may also check:How to resolve the algorithm XML/Output step by step in the XPL0 programming language
You may also check:How to resolve the algorithm Real constants and functions step by step in the Python programming language
You may also check:How to resolve the algorithm Munchausen numbers step by step in the Frink programming language
You may also check:How to resolve the algorithm Circular primes step by step in the Wren programming language