4-rings or 4-squares puzzle: Difference between revisions
Content added Content deleted
(easylang) |
|||
Line 2,667: | Line 2,667: | ||
=={{header|Delphi}}== |
=={{header|Delphi}}== |
||
See [[#Pascal]] |
See [[#Pascal]] |
||
=={{header|EasyLang}}== |
|||
{{trans|AWK}} |
|||
<syntaxhighlight lang=easylang> |
|||
func ok v t[] . |
|||
for h in t[] |
|||
if v = h |
|||
return 0 |
|||
. |
|||
. |
|||
return 1 |
|||
. |
|||
proc four lo hi uni show . . |
|||
# |
|||
subr bf |
|||
for f = lo to hi |
|||
if uni = 0 or ok f [ a c d g e ] = 1 |
|||
b = e + f - c |
|||
if b >= lo and b <= hi and (uni = 0 or ok b [ a c d g e f ] = 1) |
|||
solutions += 1 |
|||
if show = 1 |
|||
for h in [ a b c d e f g ] |
|||
write h & " " |
|||
. |
|||
print "" |
|||
. |
|||
. |
|||
. |
|||
. |
|||
. |
|||
subr ge |
|||
for e = lo to hi |
|||
if uni = 0 or ok e [ a c d ] = 1 |
|||
g = d + e |
|||
if g >= lo and g <= hi and (uni = 0 or ok g [ a c d e ] = 1) |
|||
bf |
|||
. |
|||
. |
|||
. |
|||
. |
|||
subr acd |
|||
for c = lo to hi |
|||
for d = lo to hi |
|||
if uni = 0 or c <> d |
|||
a = c + d |
|||
if a >= lo and a <= hi and (uni = 0 or c <> 0 and d <> 0) |
|||
ge |
|||
. |
|||
. |
|||
. |
|||
. |
|||
. |
|||
print "low:" & lo & " hi:" & hi & " unique:" & uni |
|||
acd |
|||
print solutions & " solutions" |
|||
print "" |
|||
. |
|||
four 1 7 1 1 |
|||
four 3 9 1 1 |
|||
four 0 9 0 0 |
|||
</syntaxhighlight> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |
||
<syntaxhighlight lang="fsharp"> |
<syntaxhighlight lang="fsharp"> |