Add '2019/' from commit 'fc21396bc86bc0f706225f4f6e1d8294d344ca53'
git-subtree-dir: 2019 git-subtree-mainline:f1be11fca8
git-subtree-split:fc21396bc8
This commit is contained in:
33
2019/01/src/main.zig
Normal file
33
2019/01/src/main.zig
Normal 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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user