ABC problem: Difference between revisions
Content added Content deleted
(Add Lang example) |
|||
Line 5,481: | Line 5,481: | ||
SQuAd: true |
SQuAd: true |
||
CONFUSE: true</pre> |
CONFUSE: true</pre> |
||
=={{header|Lang}}== |
|||
{{trans|Java}} |
|||
<syntaxhighlight lang="lang"> |
|||
fp.canMakeWord = ($word, $blocks) -> { |
|||
if(!$word) { |
|||
return 1 |
|||
} |
|||
$word = fn.toLower($word) |
|||
$c $= $word[0] |
|||
$i = 0 |
|||
while($i < @$blocks) { |
|||
$block $= fn.toLower($blocks[$i]) |
|||
if($block[0] != $c && $block[1] != $c) { |
|||
$i += 1 |
|||
con.continue |
|||
} |
|||
$blocksCopy $= ^$blocks |
|||
fn.listRemoveAt($blocksCopy, $i) |
|||
if(fp.canMakeWord(fn.substring($word, 1), $blocksCopy)) { |
|||
return 1 |
|||
} |
|||
$i += 1 |
|||
} |
|||
return 0 |
|||
} |
|||
$blocks = fn.listOf(BO, XK, DQ, CP, NA, GT, RE, TG, QD, FS, JW, HU, VI, AN, OB, ER, FS, LY, PC, ZM) |
|||
$word |
|||
foreach($[word], [\e, A, BARK, BOOK, TREAT, COMMON, SQUAD, CONFUSE, Treat, cOmMoN]) { |
|||
fn.printf(%s: %s%n, $word, fp.canMakeWord($word, $blocks)) |
|||
} |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
: 1 |
|||
A: 1 |
|||
BARK: 1 |
|||
BOOK: 0 |
|||
TREAT: 1 |
|||
COMMON: 0 |
|||
SQUAD: 1 |
|||
CONFUSE: 1 |
|||
Treat: 1 |
|||
cOmMoN: 0 |
|||
</pre> |
|||
=={{header|Liberty BASIC}}== |
=={{header|Liberty BASIC}}== |