aboutsummaryrefslogtreecommitdiff
path: root/challenge-120/abigail/tcl
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-07-05 18:40:41 +0200
committerAbigail <abigail@abigail.be>2021-07-06 00:55:53 +0200
commit0242bf8e30c825fb37e1a19fb70e8d8b6a47957f (patch)
tree64a3d069aff080ba761fea76c69f70808cd94fec /challenge-120/abigail/tcl
parenta781fb0ab337d2da7233100cc3414694dec59f40 (diff)
downloadperlweeklychallenge-club-0242bf8e30c825fb37e1a19fb70e8d8b6a47957f.tar.gz
perlweeklychallenge-club-0242bf8e30c825fb37e1a19fb70e8d8b6a47957f.tar.bz2
perlweeklychallenge-club-0242bf8e30c825fb37e1a19fb70e8d8b6a47957f.zip
Solutions in 14 languages for week 120, part 2
Diffstat (limited to 'challenge-120/abigail/tcl')
-rw-r--r--challenge-120/abigail/tcl/ch-2.tcl28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-120/abigail/tcl/ch-2.tcl b/challenge-120/abigail/tcl/ch-2.tcl
new file mode 100644
index 0000000000..44989af0e1
--- /dev/null
+++ b/challenge-120/abigail/tcl/ch-2.tcl
@@ -0,0 +1,28 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: tclsh ch-2.tcl < input-file
+#
+
+set DIFF_PER_MINUTE 11
+set MIN_PER_HOUR 60
+set FULL_CIRCLE 720
+
+while {[gets stdin line] >= 0} {
+ set parts [split $line :]
+ set hours [expr 1[lindex $parts 0] - 100]
+ set minutes [expr 1[lindex $parts 1] - 100]
+ set angle [expr (($DIFF_PER_MINUTE * \
+ ($hours * $MIN_PER_HOUR + $minutes))) % $FULL_CIRCLE]
+ if {2 * $angle >= $FULL_CIRCLE} {
+ set angle [expr $FULL_CIRCLE - $angle]
+ }
+
+ puts -nonewline [expr $angle / 2]
+ if {$angle % 2 == 1} {
+ puts -nonewline ".5"
+ }
+ puts ""
+}