Skip to content

Instantly share code, notes, and snippets.

@PeYceBall
PeYceBall / .fs
Created September 14, 2018 13:36
Unilecs task 126
open System
let s = Seq.unfold (fun (f, g) -> Some( (f, g), (f + g, f + 2 * g) ) ) (1, 1)
let foo n =
let (f_n, g_n) = s |> Seq.take n |> Seq.last
printfn "for n = %d the result is %d" n (f_n + 2 * g_n)
[<EntryPoint>]
let main argv =
1. Нет, гусь — не утка
2. false
3. true
4. HashCode
5. Параметры командной строки, с которыми была запущена программа
6. null
7. [1, 2]
8. [1]
9. Donald
10. class Duck implements Comparable<Duck>;
@PeYceBall
PeYceBall / .fs
Last active August 17, 2018 15:00
Unilecs task 118
open System
//Вершина хранит значение и массив номеров вершин-детей
//Предполагается, что во всех вершинах value >= 0. Иначе надо было бы проверять вершину при добавлении в подмножество
type Node = int * List<int>
//В дереве хранится список вершин и номер корня(обычно считаем, что 0)
type Tree = {nodes : List<Node>; root : int}
let maxSubset (tree : Tree) : int =
//возвращает пару (сумма макс. подмн., сумма макс. подмн. без корня) для поддерева данной вершины
@PeYceBall
PeYceBall / task108.fs
Last active July 13, 2018 16:27
UniLecs task 108
open System
//Для каждого i от n до 1 добавим к каждому множеству i, добавив их в список,
//при этом оставив в конечном списке и множества без этого элемента.
//В начале есть только пустое множество, которое потом удаляется.
let powerset n =
let rec powerset' acc n =
match n with
| 0 -> acc