From 15e660011146c8862ea13ea17161bba825fe2afd Mon Sep 17 00:00:00 2001 From: Lucia Ceionia Date: Sat, 7 Dec 2024 17:29:57 -0600 Subject: [PATCH] what was i *thinking* (i wasn't thinking) --- 07/src/main.zig | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/07/src/main.zig b/07/src/main.zig index ea6314f..5d18297 100644 --- a/07/src/main.zig +++ b/07/src/main.zig @@ -80,9 +80,6 @@ fn run2(s: []const u8) !u64 { }; } - var str_buf: [64]u8 = undefined; - var str_buf_fbs = std.io.fixedBufferStream(&str_buf); - var str_buf_writer = str_buf_fbs.writer(); for (entries.items) |entry| { const nums: []u64 = entry.nums.items; std.debug.print("{}:", .{entry.n}); @@ -101,12 +98,11 @@ fn run2(s: []const u8) !u64 { OP.ADD => v += n, OP.MUL => v *= n, OP.CAT => { - try str_buf_fbs.seekTo(0); - try std.fmt.formatInt(v, 10, std.fmt.Case.lower, .{}, &str_buf_writer); - try std.fmt.formatInt(n, 10, std.fmt.Case.lower, .{}, &str_buf_writer); - v = try std.fmt.parseInt(u64, str_buf[0..str_buf_fbs.pos], 10); + const l = std.math.log10(n)+1; + v = (v * std.math.pow(u64, 10, l)) + n; }, } + if (v > entry.n) break; op_i += 1; }