more progress

This commit is contained in:
2025-09-02 09:42:27 -04:00
parent 46b91dae30
commit 1776ed8f57
6 changed files with 341 additions and 60 deletions
+16 -21
View File
@@ -10,25 +10,19 @@
use core::read_data;
fn circular_digit_sum(input: &str) -> u32 {
let all_chars: Vec<_> = input.chars().collect();
let mut running_total = 0;
let mut first_char = ' ';
let mut last_char = ' ';
let input_length = input.len();
for (index, char) in input.chars().enumerate() {
if index == 0 {
first_char = char;
}
if index == input_length - 1 {
if char == first_char {
let num_val = char.to_digit(10).unwrap();
running_total += num_val;
let half_way = input_length / 2;
println!("TOTAL LENGTH FOR INPUT: {input_length} / {half_way}");
for (index, char) in all_chars.clone().into_iter().enumerate() {
if index < half_way {
if all_chars[index] == all_chars[index + half_way] {
let val = all_chars[index].to_string().parse::<u32>().unwrap();
running_total += (val * 2);
}
println!("Checking {index} against {}", index + half_way);
}
if char == last_char {
let num_val = char.to_digit(10).unwrap();
running_total += num_val;
}
last_char = char;
}
running_total
@@ -38,11 +32,12 @@ fn circular_digit_sum(input: &str) -> u32 {
fn main() {
let binding = read_data("2017_01_data.txt");
let params = vec![
("1122", 3),
("1111", 4),
("1234", 0),
("91212129", 9),
(&*binding, 1031)
("1212", 6),
("1221", 0),
("123425", 4),
("123123", 12),
("12131415", 4),
(&*binding, 1080)
];
for (param, expected) in params {
@@ -52,4 +47,4 @@ fn main() {
println!("success!");
}
}
// 1031
// 1080