Compare commits

..

2 commits

Author SHA1 Message Date
ef970ed47a 2025: day02: part 2 2025-12-03 18:13:18 +01:00
f0dc93b0bb 2025: day02: part 1 2025-12-03 18:13:18 +01:00

View file

@ -50,31 +50,15 @@ fn get_num_digits(num: &u64) -> usize {
digits
}
fn get_nth_digit(num: &u64, n: usize) -> u64 {
let mut num = *num;
for _ in 0..n {
num /= 10;
}
num % 10
}
fn is_repeated_twice(num: &u64) -> bool {
let num_digits = get_num_digits(num);
if !num_digits.is_multiple_of(2) {
return false;
}
let half = num_digits / 2;
let mask = 10_u64.pow(half as u32);
for (right, left) in (0..half).zip(half..num_digits) {
let ln = get_nth_digit(num, left);
let rn = get_nth_digit(num, right);
if ln != rn {
return false;
}
}
true
*num / mask == *num % mask
}
fn part1(input: &str) -> Result<u64> {