Skip to content

Instantly share code, notes, and snippets.

@bozdoz
Created December 11, 2024 20:52
Show Gist options
  • Save bozdoz/934ee5fad305507e46b2367ef1e1e00c to your computer and use it in GitHub Desktop.
Save bozdoz/934ee5fad305507e46b2367ef1e1e00c to your computer and use it in GitHub Desktop.
AOC 2024 Day 11
fn main() {
let s = "125 17";
let mut data: Vec<_> = s.split(" ").map(|x| { x.parse::<usize>().unwrap() }).collect();
let mut len = data.len();
// println!("{:?}", data);
for _ in (0..).take(75) {
// println!("len: {len}");
let mut i = 0;
while i < len {
match data[i] {
0 => { data[i] = 1 },
j => {
let digits = j.ilog10() + 1;
if digits % 2 == 0 {
let split = digits / 2;
let left = j / (10usize).pow(split);
let right = j - left * (10usize).pow(split);
// println!("split: {j} -> {left} {right}");
data[i] = left;
data.insert(i+1, right);
i += 1;
len += 1;
} else {
data[i] *= 2024;
}
}
}
i += 1;
}
len = data.len();
// println!("{:?}", data);
}
println!("{}", data.len());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment