2500336100

2500336100



Przykład: problem ośmiu hetmanów (2)

Funkcja nextQueen bierze szachownicę qs i generuje listę szachownic z poprawnie ustawionym kolejnym hetmanem. Parametr n pozwala rozwiązywać problem n hetmanów.

#    let rec fromTo a b =

if a>b then [] else a::(fromTo (a+1) b);; val fromTo : int -> int -> int list = <fun>

#    let nextQueen n qs =

List.map (function h -> h::qs)

(List.filter (isQueenSafe qs) (fromTo 1 n));; val nextQueen : int -> int list -> int list list = <fun>

#    let isSolution n qs = List.length qs = n;; val isSolution : int -> 'a list -> bool = <fun>

#    let depthQueen n = lfilter (isSolution n)

(depthFirst (nextQueen n) []);;

val depthQueen : int -> int list llist = <fun>

Zdzisław Spławski


Programowanie funkcyjr


15




Wyszukiwarka

Podobne podstrony:
Przykład: problem ośmiu hetmanów (3) Funkcja depthQueen znajduje wszystkie rozwiązania problemu n
Przykład: problem ośmiu hetmanów (1) Należy ustawić osiem hetmanów na szachownicy w taki sposób, żeb
img010 10 Przykłady 1* Dowolny zbiór Z wraz z funkcja dd(p,q) 0 dla p ■ q, 1 dla p jt q jest przeatr
img034 CAŁKOWANIE FUNKCJI WYMIERNYCH (zobacz przykład 1.3). Wobec tego CAŁKOWANIE FUNKCJI WYMIERNYCH
S6300968 • Przykład 2.7 Korzystając z twierdzenia o trzech funkcjach uzasadnić podane równości. a I
P1106171533 ADY ZADAŃ Egzamin z matematyki 2, przykl I* Znaleźć ekstrema lokalne funkcji dwófłr zmi
S6300968 • Przykład 2.7 Korzystając z twierdzenia o trzech funkcjach uzasadnić podane równości. a I
Snap06 Biologią a filozoficzne problemy biolog•> biologicznej. Funkcję taką spełnia biologia ogól
k18 (2) Erytrocyty (RBC)Erytrocyty są przykładem przystosowania struktury do funkcjiSpecyficzna budo
11450 IMGv29 IV. NAUKI WSPÓŁDZIAŁAJĄCE Z SURDOPEDAGOGIKą Problematyką uszkodzeń i zaburzeń w funkcjo
Przykład problemu: Jak liczbowo (i komputerowo) rozróżniać i oceniać obrazy z klasy Cl względem obra

więcej podobnych podstron