Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn digits_to_vec(digits: String) -> Vec<u32> {
- let mut result = Vec::new();
- for c in digits.chars() {
- match c.to_digit(10) {
- Some(v) => result.push(v),
- None => {}
- }
- }
- return result;
- }
- fn main() {
- let mut digits_string = String::new();
- std::io::stdin().read_line(&mut digits_string).expect("wtf?");
- let digits = digits_to_vec(digits_string);
- let length = digits.len();
- let halfway = length / 2;
- let mut compare_to = Vec::new();
- compare_to.extend(digits[halfway..length].iter().cloned());
- compare_to.extend(digits[0..halfway].iter().cloned());
- let mut result = 0;
- for (a, b) in digits.iter().zip(compare_to.iter()) {
- if a == b {
- result += a;
- }
- }
- println!("{}", result);
- }
Add Comment
Please, Sign In to add comment