Вдогонку еще и B
Sunday, 9 May 2010 21:47![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
open System
open System.IO
do
use reader = new StreamReader("B.in")
use writer = new StreamWriter("B.out")
let readLine _ = reader.ReadLine()
let testCount = reader.ReadLine() |> int
let split (s: String) = s.Split(' ') |> List.ofArray
let gcd a b = bigint.GreatestCommonDivisor(a, b)
let solve (y::_ as moments) =
Seq.pairwise moments
|> Seq.map (fun (x,y) -> abs(y-x))
|> Seq.reduce gcd
|> fun g -> (g - (y % g)) % g
List.init testCount
(readLine >> split >> List.map bigint.Parse >> List.tail >> List.sort >> List.rev)
|> List.map solve
|> List.iteri (fun i ans -> writer.WriteLine("Case #{0}: {1}", i+1, ans))
no subject
Date: Monday, 10 May 2010 19:54 (UTC)И вот только что комментарий кто-то добавил: http://progopedia.ru/language/fsharp/#comment-49390764 Прав он или нет?
no subject
Date: Monday, 10 May 2010 20:00 (UTC)А насчет примеров - было бы время, может, и занялся бы.
На самом деле на Хабрахабре, fsharp.net и в книгах вроде "Expert F#" есть огромное количество примеров, демонстрирующих те или иные возможности языка. Для энциклопедии скопипастить их будет вполне достаточно.