HackerRank Functional Challenges HR F#: Functions and Fractals: Sierpinski triangles The problem of drawing the Sierpinski triangles is considered to be advanced problem and it really is. The Sierpinski triangle is a fractal, constructed by recursively subdividing equilateral triangles into

HackerRank Functional Challenges HR F#: Pascal's Triangle The second problem from the Recursive subdomain is printing Pascal's Triangle for given n. Pascal's triangle is named after famous French mathematician from XVII century, Blaise Pascal. His findings on

HackerRank Functional Challenges HR F#: Computing the GCD The greatest common divisor (or GCD) of two integers is the largest positive integer that divides two of these integers. The first of the Recursion problems on the Functional track at Hackerrank is computing the GCD using the Euclidean Algorithm. In this algorythm the

F# F#: How to check that tail recursion calls are optimised The tail recursion optimisation happens when a compiler decides that instead of performing recursive function call (and add new entry to the execution stack) it is possible to use loop-like

F# Quickstart WPF F#-only app in VSCode - Part 3 How to quickly create WPF F# project was shown in the first part. FsXaml and paket was added in the second part. This part will go reactive: add ReactiveUI and show how to update the view model asynchronously from F#. This part starts where

F# Quickstart WPF F#-only app in VSCode - Part 2 The first part shown how to create a WPF F# project with simple window and its view model, build this project and run it. Now lets add FsXaml using packet, use it to create types from XAML and create user control. All by directly

HackerRank Functional Challenges HR F#: Compute the Area of a Polygon This is the last from the introductional problems in the Functional Programming domain on Hackerrank. This also might be most complicated among the introductionary problems: You are given the cartesian coordinates of a set of points in a 2D plane. When traversed sequentially, these

HackerRank Functional Challenges HR F#: Compute the Perimeter of a Polygon The problem of computing perimeter of the polygon is one of the easy problems, but it requires a bit more programming. You are given the cartesian coordinates of a set of points in a 2D plane. When traversed sequentially, these points form a Polygon,

HackerRank Functional Challenges HR F#: Functions or Not? The Functions or Not? problem is defined as follows: You are given a set of unique (x, y) ordered pairs constituting a relation. For each of these relations, identify whether they may possibly represent a valid function or not. On a new line for

HackerRank Functional Challenges HR F#: Lambda Calculus - Reductions #4 The last one from reduction problems is following: Reduce the following expression, using the beta-rule, to no more than one term. If the expression cannot be reduced, enter "CAN'T REDUCE". (λg.((λf.((λx.(f(xx)))(λx.(f(xx)))))g)) Well, now I

HackerRank Functional Challenges HR F#: Area Under Curves and Volume of Revolving a Curve The next problem, Area Under Curves and Volume of Revolving a Curve, in mathematically advance so I introduce some therms and facts first. Numerical integration is the measuring the area between function and axis, which is done by evaluating function in many points closing

F# HR F#: Evaluating eˣ The problem Evaluating e^x: The series expansion of eˣ is given by $$1 + x + \frac{x^2} {2!} + \frac{x^3} {3!} + \frac{x^4} {4!} + ...$$ Evaluate eˣ for given values of x by using the above expansion for the first 10 terms.

F# HR F#: Updating List The problem Updating List requires learning how to generate one list from another. Update the values of a list with their absolute values. In many other programming languages the common approach is to update the array items: a[i] = abs(a[i]);, e.g.

F# HR F#: List Length The problem List Length is interesting because it can be solved using mutable counter but it also can be solved in more functional way. Count the number of elements in an array without using count, size or length operators (or their equivalents). First, let's

F# HR F#: Sum of Odd Elements The problem Sum of Odd Elements: You are given a list. Return the sum of odd elements from the given list. The solusion is basically just an invocation of the List.fold from the standard library: let f arr = arr |> List.fold (fun

F# HR F#: Reverse a List The problem Reverse a List encourages to learn List.rev. You are given a list of elements. Reverse the list without using the reverse function. The simplest implementation is not very efficient one but it works good enough to pass the tests: let rev

F# HR F#: Array Of N Elements The problem Array Of N Elements requires to write the function that returns N items. The string serialisation of the data structure should be very specific and similar to [ 1, 2, 3 ]. In the previous solutions I've generated the items using sequences. If sequences

F# HR F#: Filter Positions in a List The next one is Filter Positions in a List: For a given list with N integers, return a new list removing the elements at odd positions. There are a few methods in the Seq module that looks relevant: iteri and mapi. They both apply

F# HR F#: Filter Array The next HackerRank functional problem is Filter Array. Filter a given array of integers and output only those values that are less than a specified value X. The idea is to create a filtering function, not using the one from the standard library. With

F# HR F#: List Replication This is going to be more interesting than[1] previous[2] three[3]. Given a list, repeat each element in the list n amount of times. The first line of the input is a number specifying how many times repeat every element of the

Functional Programming HR F#: Hello World N Times One more HR F# challenge for today - Hello World N Times: Print "Hello World" N amount of times. ... A single line of input containing integer N, the number of times to print "Hello World". The iterative process in F#

Functional Programming HR F#: Hello World The second F# challenge on HackerRank is to write Hello World program in F#. This is a fairly simple program. This program defines F# function and calls it from the main method. The main method is just a typical application entry point. The VS

Functional Programming Solving HackerRank's Functional Challenges in F#: Solve Me First FP Couple of years ago I had a good time practicing Go by solving a number of programming challenges on Hackerrank. This time I will try solve functional challenges using F#. There is the first one: Your task is to scan two numbers, A and