19 lines
		
	
	
		
			376 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			376 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
|   | % This example is adapted from http://eclipse.crosscoreop.com/examples/puzzle1.pl.txt | ||
|  | 
 | ||
|  | :- use_module(library('clpfd')). | ||
|  | 
 | ||
|  | solve(Board) :- | ||
|  | 	Board = [NW,N,NE,W,E,SW,S,SE], | ||
|  | 	domains(Board,0..12), | ||
|  | 	sum(Board, #=, 12), | ||
|  | 	NW + N + NE #= 5, | ||
|  | 	NE + E + SE #= 5, | ||
|  | 	NW + W + SW #= 5, | ||
|  | 	SW + S + SE #= 5, | ||
|  | 	label(Board). | ||
|  | 
 | ||
|  | domains([],_). | ||
|  | domains([Pos|Board],D) :- | ||
|  | 	Pos in D, | ||
|  | 	domains(Board,D). |