Compare commits

..

2 commits

Author SHA1 Message Date
188d490e8e 2025: day02: part 2 2025-12-03 17:56:44 +01:00
a9a931cd31 2025: day02: part 1 2025-12-03 17:56:04 +01:00

View file

@ -50,15 +50,31 @@ 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);
*num / mask == *num % mask
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
}
fn part1(input: &str) -> Result<u64> {