changeset 21:f1f0220b5f7c

day 16: simply loop
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sat, 16 Dec 2017 23:47:26 -0500
parents 8d1edc9efcb4
children 4e7e7835f1db
files 2017/day16.d
diffstat 1 files changed, 4 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/2017/day16.d
+++ b/2017/day16.d
@@ -29,13 +29,10 @@
 }
 
 auto iteratePerm(string[] ops, string progs) {
-  string[] seenprogs = [progs];
-  string result = progs;
-  while(true) {
-    result = ops.parseOps(result);
-    if(seenprogs.canFind(result)) {
-      break;
-    }
+  string[] seenprogs;
+  for(string result = progs;
+      !seenprogs.canFind(result);
+      result = ops.parseOps(result)) {
     seenprogs ~= result;
   }
   return seenprogs[1_000_000_000 % seenprogs.length];