Dinesman's multiple-dwelling problem: Difference between revisions
Content added Content deleted
(Added Easylang) |
(Added various BASIC dialects (Chipmunk Basic, QBasic and True BASIC)) |
||
Line 392: | Line 392: | ||
</pre> |
</pre> |
||
==={{header|Chipmunk Basic}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|Chipmunk Basic|3.6.4}} |
|||
<syntaxhighlight lang="vbnet">100 cls |
|||
110 print "Los apartamentos están numerados del 0 (bajo) al 4 (ático)." |
|||
120 print "Baker, Cooper, Fletcher, Miller y Smith viven en apartamentos diferentes." |
|||
130 print "- Baker no vive en el último apartamento (ático)." |
|||
140 print "- Cooper no vive en el piso inferior (bajo)." |
|||
150 print "- Fletcher no vive ni en el ático ni en el bajo." |
|||
160 print "- Miller vive en un apartamento más alto que Cooper." |
|||
170 print "- Smith no vive en un apartamento adyacente al de Fletcher." |
|||
180 print "- Fletcher no vive en un apartamento adyacente al de Cooper." |
|||
190 print |
|||
200 for baker = 0 to 3 |
|||
210 for cooper = 1 to 4 |
|||
220 for fletcher = 1 to 3 |
|||
230 for miller = 0 to 4 |
|||
240 for smith = 0 to 4 |
|||
250 if baker <> cooper and baker <> fletcher and baker <> miller and baker <> smith and cooper <> fletcher then |
|||
260 if cooper <> miller and cooper <> smith and fletcher <> miller and fletcher <> smith and miller <> smith then |
|||
270 if miller > cooper and abs(smith-fletcher) <> 1 and abs(fletcher-cooper) <> 1 then |
|||
280 print "Baker vive en el piso ";baker |
|||
290 print "Cooper vive en el piso ";cooper |
|||
300 print "Fletcher vive en el piso ";fletcher |
|||
310 print "Miller vive en el piso ";miller |
|||
320 print "Smith vive en el piso ";smith |
|||
330 endif |
|||
340 endif |
|||
350 endif |
|||
360 next smith |
|||
370 next miller |
|||
380 next fletcher |
|||
390 next cooper |
|||
400 next baker |
|||
410 end</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|Commodore BASIC}}=== |
==={{header|Commodore BASIC}}=== |
||
The statements have been rearranged below so as to eliminate the maximum number of iterations; they could all be placed in the innermost loop and achieve the same result, just more slowly. |
The statements have been rearranged below so as to eliminate the maximum number of iterations; they could all be placed in the innermost loop and achieve the same result, just more slowly. |
||
Line 730: | Line 766: | ||
4 miller |
4 miller |
||
0 smith</pre> |
0 smith</pre> |
||
==={{header|QBasic}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|QBasic|1.1}} |
|||
{{works with|QuickBasic|4.5}} |
|||
{{works with|True BASIC}} |
|||
<syntaxhighlight lang="qbasic">PRINT "Los apartamentos están numerados del 0 (bajo) al 4 (ático)." |
|||
PRINT "Baker, Cooper, Fletcher, Miller y Smith viven en apartamentos diferentes." |
|||
PRINT "- Baker no vive en el último apartamento (ático)." |
|||
PRINT "- Cooper no vive en el piso inferior (bajo)." |
|||
PRINT "- Fletcher no vive ni en el ático ni en el bajo." |
|||
PRINT "- Miller vive en un apartamento más alto que Cooper." |
|||
PRINT "- Smith no vive en un apartamento adyacente al de Fletcher." |
|||
PRINT "- Fletcher no vive en un apartamento adyacente al de Cooper." |
|||
PRINT |
|||
FOR baker = 0 TO 3 |
|||
FOR cooper = 1 TO 4 |
|||
FOR fletcher = 1 TO 3 |
|||
FOR miller = 0 TO 4 |
|||
FOR smith = 0 TO 4 |
|||
IF baker <> cooper AND baker <> fletcher AND baker <> miller AND baker <> smith AND cooper <> fletcher THEN |
|||
IF cooper <> miller AND cooper <> smith AND fletcher <> miller AND fletcher <> smith AND miller <> smith THEN |
|||
IF miller > cooper AND ABS(smith - fletcher) <> 1 AND ABS(fletcher - cooper) <> 1 THEN |
|||
PRINT "Baker vive en el piso "; baker |
|||
PRINT "Cooper vive en el piso "; cooper |
|||
PRINT "Fletcher vive en el piso "; fletcher |
|||
PRINT "Miller vive en el piso "; miller |
|||
PRINT "Smith vive en el piso "; smith |
|||
END IF |
|||
END IF |
|||
END IF |
|||
NEXT smith |
|||
NEXT miller |
|||
NEXT fletcher |
|||
NEXT cooper |
|||
NEXT baker |
|||
END</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|Run BASIC}}=== |
==={{header|Run BASIC}}=== |
||
Line 755: | Line 830: | ||
print "Can't assign rooms" ' print this if it can not find a solution</syntaxhighlight> |
print "Can't assign rooms" ' print this if it can not find a solution</syntaxhighlight> |
||
<pre>baler: 3 copper: 2 fletcher: 4 miller: 5 smith: 1</pre> |
<pre>baler: 3 copper: 2 fletcher: 4 miller: 5 smith: 1</pre> |
||
==={{header|True BASIC}}=== |
|||
{{trans|FreeBASIC}} |
|||
{{works with|QBasic}} |
|||
<syntaxhighlight lang="qbasic">PRINT "Los apartamentos están numerados del 0 (bajo) al 4 (ático)." |
|||
PRINT "Baker, Cooper, Fletcher, Miller y Smith viven en apartamentos diferentes." |
|||
PRINT "- Baker no vive en el último apartamento (ático)." |
|||
PRINT "- Cooper no vive en el piso inferior (bajo)." |
|||
PRINT "- Fletcher no vive ni en el ático ni en el bajo." |
|||
PRINT "- Miller vive en un apartamento más alto que Cooper." |
|||
PRINT "- Smith no vive en un apartamento adyacente al de Fletcher." |
|||
PRINT "- Fletcher no vive en un apartamento adyacente al de Cooper." |
|||
PRINT |
|||
FOR baker = 0 TO 3 |
|||
FOR cooper = 1 TO 4 |
|||
FOR fletcher = 1 TO 3 |
|||
FOR miller = 0 TO 4 |
|||
FOR smith = 0 TO 4 |
|||
IF baker <> cooper AND baker <> fletcher AND baker <> miller AND baker <> smith AND cooper <> fletcher THEN |
|||
IF cooper <> miller AND cooper <> smith AND fletcher <> miller AND fletcher <> smith AND miller <> smith THEN |
|||
IF miller > cooper AND ABS(smith - fletcher) <> 1 AND ABS(fletcher - cooper) <> 1 THEN |
|||
PRINT "Baker vive en el piso "; baker |
|||
PRINT "Cooper vive en el piso "; cooper |
|||
PRINT "Fletcher vive en el piso "; fletcher |
|||
PRINT "Miller vive en el piso "; miller |
|||
PRINT "Smith vive en el piso "; smith |
|||
END IF |
|||
END IF |
|||
END IF |
|||
NEXT smith |
|||
NEXT miller |
|||
NEXT fletcher |
|||
NEXT cooper |
|||
NEXT baker |
|||
END</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|uBasic/4tH}}=== |
==={{header|uBasic/4tH}}=== |