This commit is contained in:
2019-12-01 17:40:23 +00:00
commit 08a13d416c
4 changed files with 148 additions and 0 deletions

33
01/src/main.zig Normal file
View File

@@ -0,0 +1,33 @@
const std = @import("std");
fn rocket(in: i64) i64 {
var x: i64 = @divFloor(in, 3) - 2;
if (x < 0) {
x = 0;
}
return x;
}
pub fn main() anyerror!void {
const file = std.io.getStdIn();
const stream = &file.inStream().stream;
var buf: [20]u8 = undefined;
var sum1: i64 = 0; // part 1
var sum2: i64 = 0; // part 2
while (try stream.readUntilDelimiterOrEof(&buf, '\n')) |line| {
const mass = try std.fmt.parseInt(i64, line, 10);
var rock = rocket(mass);
sum1 += rock;
while (rock > 0) {
sum2 += rock;
rock = rocket(rock);
}
}
std.debug.warn("Part 1: {}\n", sum1);
std.debug.warn("Part 2: {}\n", sum2);
}