Hourglass puzzle: Difference between revisions

m
syntax highlighting fixup automation
No edit summary
m (syntax highlighting fixup automation)
Line 15:
{{trans|Python}}
 
<langsyntaxhighlight lang="11l">V t4 = 0
L t4 < 10'000
V t7_left = 7 - t4 % 7
Line 29:
t4 += 4
L.was_no_break
print(‘Not found’)</langsyntaxhighlight>
 
{{out}}
Line 42:
</pre>
=={{header|AWK}}==
<syntaxhighlight lang="awk">
<lang AWK>
# syntax: GAWK -f HOURGLASS_PUZZLE.AWK
BEGIN {
Line 85:
}
}
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 97:
=={{header|FreeBASIC}}==
{{trans|Phyton}}
<langsyntaxhighlight lang="freebasic">
Sub Hourglass_puzzle()
Dim As Uinteger t4 = 0, limite = 1000, t7_left
Line 121:
Hourglass_puzzle()
Sleep
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 137:
=={{header|Go}}==
{{trans|Julia}}
<langsyntaxhighlight lang="go">package main
 
import (
Line 199:
fmt.Println(ts[i], "using", hgs[i])
}
}</langsyntaxhighlight>
 
{{out}}
Line 214:
=={{header|Julia}}==
Implemented as a game solver rather than as a game with user input.
<langsyntaxhighlight lang="julia">function euclidean_hourglassflipper(hourglasses, target::Integer)
gcd(hourglasses) in hourglasses && !(1 in hourglasses) && throw("Hourglasses fail sanity test (not relatively prime enough)")
flippers, series = deepcopy(hourglasses), Int[]
Line 240:
i, j = euclidean_hourglassflipper([5, 7, 31], 36)
println("Use hourglasses from step $i to step $j (inclusive) to sum 36 using [5, 7, 31]")
</langsyntaxhighlight>{{out}}
<pre>
Flip an hourglass every time it runs out of grains, and note the interval in time.
Line 251:
=={{header|Logo}}==
tested with FMSlogo
<langsyntaxhighlight lang="logo">
to bb
Make "small_capacity 4
Line 308:
 
 
</syntaxhighlight>
</lang>
 
=={{header|Nim}}==
{{trans|Wren}}
<langsyntaxhighlight Nimlang="nim">import math, strutils
 
func hourglassFlipper(hourglasses: openArray[int];
Line 341:
echo "\nSeries: ", series.join(" ")
echo "Use hourglasses from indices $1 to $2 (inclusive) to sum ".format(start, `end`),
"$1 using $2.".format(target, hourglasses.join(" "))</langsyntaxhighlight>
 
{{out}}
Line 355:
=={{header|Perl}}==
Flip each hourglass when it runs out and note the time for each.
<langsyntaxhighlight lang="perl">#!/usr/bin/perl
 
use strict; # https://rosettacode.org/wiki/Hourglass_puzzle
Line 370:
]}, Start at time $-[0] and End at time $+[0]\n"
: "$want is not possible\n";
}</langsyntaxhighlight>
{{out}}
<pre>
Line 396:
 
=={{header|Phix}}==
<!--<langsyntaxhighlight Phixlang="phix">(phixonline)-->
<span style="color: #000080;font-style:italic;">-- demo\rosetta\Hourglass_puzzle.exw</span>
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
Line 490:
<span style="color: #000000;">solve</span><span style="color: #0000FF;">({</span><span style="color: #000000;">7</span><span style="color: #0000FF;">,</span><span style="color: #000000;">11</span><span style="color: #0000FF;">},</span><span style="color: #000000;">15</span><span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- (logo solution stops timer at t=22, this manages t=15)</span>
<span style="color: #000000;">solve</span><span style="color: #0000FF;">({</span><span style="color: #000000;">5</span><span style="color: #0000FF;">,</span><span style="color: #000000;">8</span><span style="color: #0000FF;">},</span><span style="color: #000000;">14</span><span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- (logo solution stops timer at t=24, this manages t=19)</span>
<!--</langsyntaxhighlight>-->
{{out}}
<pre>
Line 541:
There isn't much of a task description as I write this, but, here goes...
 
<langsyntaxhighlight lang="python">def hourglass_puzzle():
t4 = 0
while t4 < 10_000:
Line 560:
""")
hourglass_puzzle()</langsyntaxhighlight>
 
{{out}}
Line 571:
 
=={{header|Raku}}==
<syntaxhighlight lang="raku" perl6line># 20201230 Raku programming solution
 
my @hourglasses = 4, 7;
Line 602:
}
 
.say if .defined for @output</langsyntaxhighlight>
{{out}}
<pre>At time t = 4 , flip hourglass 4
Line 613:
=={{header|REXX}}==
{{trans|Python}}
<langsyntaxhighlight lang="rexx">/*REXX program determines if there is a solution to measure 9 minutes using a */
/*──────────────────────────────────── four and seven minute sandglasses. */
t4= 0
Line 637:
say "glass when the four-minute glass ends."
say
exit 0</langsyntaxhighlight>
{{out|output|text=&nbsp; when using the internal default input:}}
<pre>
Line 653:
=={{header|Vlang}}==
{{trans|go}}
<langsyntaxhighlight lang="vlang">import arrays {sum, min}
fn hourglass_flipper(hourglasses []int, target int) (int, []int) {
Line 691:
println("${ts[i]} using ${hgs[i]}")
}
}</langsyntaxhighlight>
{{out}}
<pre>Same as Go entry</pre>
Line 698:
{{trans|Julia}}
{{libheader|Wren-math}}
<langsyntaxhighlight lang="ecmascript">import "/math" for Nums
 
var hourglassFlipper = Fn.new { |hourglasses, target|
Line 732:
System.write("Use hourglasses from indices %(start) to %(end) (inclusive) to sum ")
System.print("%(target) using %(hourglasses)")
}</langsyntaxhighlight>
 
{{out}}
10,327

edits