diff options
Diffstat (limited to 'prolog/problems/license_plates')
-rw-r--r-- | prolog/problems/license_plates/checklicenseplate_3/sl.py | 18 | ||||
-rw-r--r-- | prolog/problems/license_plates/firstminus_2/sl.py | 14 | ||||
-rw-r--r-- | prolog/problems/license_plates/genexp_2/sl.py | 19 | ||||
-rw-r--r-- | prolog/problems/license_plates/getdigits_2/sl.py | 13 | ||||
-rw-r--r-- | prolog/problems/license_plates/joindigits_2/sl.py | 16 |
5 files changed, 80 insertions, 0 deletions
diff --git a/prolog/problems/license_plates/checklicenseplate_3/sl.py b/prolog/problems/license_plates/checklicenseplate_3/sl.py new file mode 100644 index 0000000..2e3ec65 --- /dev/null +++ b/prolog/problems/license_plates/checklicenseplate_3/sl.py @@ -0,0 +1,18 @@ +# coding=utf-8 + +name = 'checkLicensePlate/3' +slug = 'Preveri, če lahko iz številk v registrski tablici sestaviš veljavno enačbo' + +description = '''\ +<p><code>checkLicensePlate(LP, E1, E2)</code>: iz cifer v seznamu <code>LP</code> se da sestaviti veljavno enačbo <code>E1</code> = <code>E2</code>. <code>E1</code> in <code>E2</code> sta aritmetična izraza, sestavljena iz podseznamov <code>Plate</code> z uporabo aritmetičnih operatorjev (<code>+</code>, <code>-</code>, <code>*</code> and <code>/</code>). Dodaten unarni minus se lahko vstavi na začetek izrazov <code>E1</code> in <code>E2</code>.</p> +<pre> + ?- checkLicensePlate([l,j,l,3,-,2,1,7], E1, E2). + E1 = 3, E2 = 21/7 ; + E1 = -3, E2 = -21/7 ; + E1 = 3*2, E2 = -1+7 ; + E1 = -3*2, E2 = 1-7 ; + E1 = 3*2+1, E2 = 7 ; + E1 = -3*2-1, E2 = -7. +</pre>''' + +hint = {} diff --git a/prolog/problems/license_plates/firstminus_2/sl.py b/prolog/problems/license_plates/firstminus_2/sl.py new file mode 100644 index 0000000..d480994 --- /dev/null +++ b/prolog/problems/license_plates/firstminus_2/sl.py @@ -0,0 +1,14 @@ +# coding=utf-8 + +name = 'firstMinus/2' +slug = 'Negiraj prvi element v danem seznamu števil' + +description = '''\ +<p><code>firstMinus(L1, L2)</code>: seznam <code>L2</code> je enak kot <code>L1</code>, razen prvega elementa, ki je lahko negiran ali pa ne. Predikat naj vrne obe rešitvi, eno za drugo.</p> +<pre> + ?- firstMinus([1,2,3], L). + L = [1,2,3] ; + L = [-1,2,3]. +</pre>''' + +hint = {} diff --git a/prolog/problems/license_plates/genexp_2/sl.py b/prolog/problems/license_plates/genexp_2/sl.py new file mode 100644 index 0000000..9160f27 --- /dev/null +++ b/prolog/problems/license_plates/genexp_2/sl.py @@ -0,0 +1,19 @@ +# coding=utf-8 + +name = 'genexp/2' +slug = 'Sestavi aritmetični izraz iz številk v podanem seznamu' + +description = '''\ +<p><code>genexp(L, E)</code>: Izraz <code>E</code> je zgrajen iz številk v seznamu <code>L</code> z dodajanjem aritmetičnih operatorjev. Predikat naj vrača vse možne izraze, enega po enega.</p> +<pre> + ?- genexp([1,2,3], L). + L = 1+2+3 ; + L = 1+2-3 ; + L = (1+2)*3 ; + L = (1+2)/3 ; + L = 1-2+3 ; + L = 1-2-3 ; + ... +</pre>''' + +hint = {} diff --git a/prolog/problems/license_plates/getdigits_2/sl.py b/prolog/problems/license_plates/getdigits_2/sl.py new file mode 100644 index 0000000..3f59e90 --- /dev/null +++ b/prolog/problems/license_plates/getdigits_2/sl.py @@ -0,0 +1,13 @@ +# coding=utf-8 + +name = 'getdigits/2' +slug = 'Vrni vse številke iz podanega seznama' + +description = '''\ +<p><code>getdigits(L, DL)</code>: seznam <code>DL</code> vsebuje vse številke iz seznama <code>L</code>, vrstni red elementov se ohrani.</p> +<pre> + ?- getdigits([2,3,e,-,4,b], DL). + DL = [2,3,4]. +</pre>''' + +hint = {} diff --git a/prolog/problems/license_plates/joindigits_2/sl.py b/prolog/problems/license_plates/joindigits_2/sl.py new file mode 100644 index 0000000..344d849 --- /dev/null +++ b/prolog/problems/license_plates/joindigits_2/sl.py @@ -0,0 +1,16 @@ +# coding=utf-8 + +name = 'joindigits/2' +slug = 'Združi sosednja števila v seznamu na vse možne načine' + +description = '''\ +<p><code>joindigits(L, NL)</code>: seznam <code>NL</code> dobimo iz seznama <code>L</code> tako, da poljubno združujemo sosednja števila. Predikat naj vrača vse možnosti, eno po eno.</p> +<pre> + ?- joindigits([3,2,4], NL). + NL = [324] ; + NL = [32,4] ; + NL = [3,24] ; + NL = [3,2,4]. +</pre>''' + +hint = {} |