### Microsoft Azure Notebooks - Live code - F#, R, and Python

I was exploring Jupyter notebooks , that combines live code, markdown and data, through Microsoft's implementation, known as MS Azure Notebooks , putting together a small library of R and F# notebooks . As Microsoft's FAQ for the service describes it as : ...a multi-lingual REPL on steroids. This is a free service that provides Jupyter notebooks along with supporting packages for R, Python and F# as a service. This means you can just login and get going since no installation/setup is necessary. Typical usage includes schools/instruction, giving webinars, learning languages, sharing ideas, etc. Feel free to clone and comment... In R Azure Workbook for R - Memoisation and Vectorization Charting Correlation Matrices in R In F# Charnownes Constant in FSharp.ipynb Project Euler - Problems 18 and 67 - FSharp using Dynamic Programming

### Coin Sums (Project Euler Problem 31)

Problem

In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation:
1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p).
It is possible to make £2 in the following way:
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p
How many different ways can £2 be made using any number of coins?

Original problem description...

Note

This is a clean, although slow, solution, taking longer than one minute to complete.

Solution

``````

// code for finding result, returned as a sequence
let sumCurrencies ones twos fives tens twenties fifties oneHundreds twoHundreds limit =
//seq{
[let counter = 0
for twoHundred in twoHundreds do
for oneHundred in oneHundreds do
for fifty in fifties do
for twenty in twenties do
for ten in tens do
for five in fives do
for two in twos do
for one in ones do
if ((one * 1) +
(two * 2) +
(five * 5) +
(ten * 10) +
(twenty * 20) +
(fifty * 50) +
(oneHundred * 100) +
(twoHundred * 200)) = limit then
yield one, two, five, ten, twenty, fifty, oneHundred, twoHundred]
//}

//call function for building possible currency arrays
let buildCurrencyArray currency limit = List.append [0] [for i=1 to limit/currency do
if limit % currency = 0 then
yield i]

//builds arrays of currencies
let buildCurrencyArray_200 = buildCurrencyArray 200 200
let buildCurrencyArray_100 = buildCurrencyArray 100 200
let buildCurrencyArray_050 = buildCurrencyArray 50 200
let buildCurrencyArray_020 = buildCurrencyArray 20 200
let buildCurrencyArray_010 = buildCurrencyArray 10 200
let buildCurrencyArray_005 = buildCurrencyArray 5 200
let buildCurrencyArray_002 = buildCurrencyArray 2 200
let buildCurrencyArray_001 = buildCurrencyArray 1 200

//builds sequence
let variousCurrencyFormulations =
sumCurrencies
buildCurrencyArray_001
buildCurrencyArray_002
buildCurrencyArray_005
buildCurrencyArray_010
buildCurrencyArray_020
buildCurrencyArray_050
buildCurrencyArray_100
buildCurrencyArray_200 200

//let variousCurrencyFormulationsResult =
//variousCurrencyFormulations |> Seq.iter (fun x -> printfn "%A" x)

//execution without timing
//let variousCurrencyFormulationsResultLength = List.length variousCurrencyFormulations

//execution with timing
let startCurrency = System.DateTime.Now
let variousCurrencyFormulationsResultLength = Seq.length variousCurrencyFormulations
printfn "%s" ((System.DateTime.Now - startCurrency).ToString())

``````

### Microsoft Azure Notebooks - Live code - F#, R, and Python

I was exploring Jupyter notebooks , that combines live code, markdown and data, through Microsoft's implementation, known as MS Azure Notebooks , putting together a small library of R and F# notebooks . As Microsoft's FAQ for the service describes it as : ...a multi-lingual REPL on steroids. This is a free service that provides Jupyter notebooks along with supporting packages for R, Python and F# as a service. This means you can just login and get going since no installation/setup is necessary. Typical usage includes schools/instruction, giving webinars, learning languages, sharing ideas, etc. Feel free to clone and comment... In R Azure Workbook for R - Memoisation and Vectorization Charting Correlation Matrices in R In F# Charnownes Constant in FSharp.ipynb Project Euler - Problems 18 and 67 - FSharp using Dynamic Programming

### Consecutive Prime Sum (Project Euler - Problem 50)

Problem The prime 41, can be written as the sum of six consecutive primes: 41 = 2 + 3 + 5 + 7 + 11 + 13 This is the longest sum of consecutive primes that adds to a prime below one-hundred. The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953. Which prime, below one-million, can be written as the sum of the most consecutive primes? Note Some libraries used in this code are F# modules I use, but have also published as a  Nuget library , such as EulerLib.GetPrimes() and  EulerLib. isPrime(). You need to reference the NuGetLibrary to use this code as is. Solution #load "Stat.fs" #load "Print.fs" #load "EulerLib.fs" open Stat open Print open EulerLib open System let rec FindLongestPrimeSequenceSum (primeList:list ) (nextItem:int) lessThanValue (primeArray:list ) bestPrime (correctArray:list )

### First Post and Raison d'Etre

I am enjoying delving into learning F#, currently working through Programming F#: A comprehensive guide for writing simple code to solve complex problems on mu iPad via Kindle, as well as using a variety of web sources: WikiBook's F# Programming Project Euler, a "series of challenging mathematical/computer programming problems" F# News Inside F# Learn Visual F# (MSDN) I am currently working with MS Visual Studio Shell 2010 and F# 2.0 to work though various self-designed ideas, as well as working through various problems from Project Euler.