use std::fs::File; use std::io::{self, prelude::*, BufReader}; fn get_hash(line: &str) -> u32 { let mut ret = 0; for s in line.chars(){ let ascii = s as u32; ret += ascii; ret = 17*ret; ret = ret%256; // println!("{}", ascii); } return ret; } fn process_text(parts: Vec<&str>) -> u32 { let mut ret = 0; for part in parts { ret += get_hash(part); } return ret; } fn main() -> io::Result<()> { let file = File::open("../input.txt")?; let reader = BufReader::new(file); let line = reader.lines().collect::>>().expect("failed"); let parts = line[0].split(&[',']).collect::>(); let answer = process_text( parts ); println!("{}", answer); Ok(()) }