Entry 874
Permutations
Submitted by Tonal
on June 26, 2008 at 1:24 p.m.
Language: Haskell. Code size: 507 bytes.
import List -- 1) Генератор перестановок perms [] = [[]] perms xs = [x : ps | x <- xs , ps <- perms ( xs\\[x])] -- 2) Проверка является ли список x перестановкой списка xs is_perm x xs = elem x (perms xs) -- 3) Фильтровать перестановки списка xs по предикату p only_need p xs = filter p (perms xs) -- 3.1) Подходит ли заданный список под шаблон [_, _, 3] is_patrn [_, _, 3] = True is_patrn xs = False -- Тесты perms [1, 2, 3] is_perm [1, 3, 2] [1, 2, 3] only_need is_patrn [1, 2, 3]
This snippet took 0.01 seconds to highlight.
Back to the Entry List or Home.