33 lines
878 B
Rust
33 lines
878 B
Rust
fn main() {
|
|
let mut v: Vec<i32> = Vec::new();
|
|
let contents = std::fs::read_to_string("input1").unwrap();
|
|
for s in contents.lines() {
|
|
v.push(s.parse::<i32>().unwrap());
|
|
}
|
|
v.sort();
|
|
for n in v.iter() {
|
|
let k = 2020 - n;
|
|
if v.contains(&k) {
|
|
print!("{} + {} = {}\n", n, k, n + k);
|
|
print!("{} * {} = {}\n", n, k, n * k);
|
|
break;
|
|
}
|
|
}
|
|
|
|
let mut found = false;
|
|
for n in v.iter() {
|
|
for n2 in v.iter() {
|
|
let k = 2020 - n - n2;
|
|
if v.contains(&n) && v.contains(n2) && v.contains(&k) {
|
|
print!("{} + {} + {} = {}\n", n, n2, k, n + n2 + k);
|
|
print!("{} * {} * {} = {}\n", n, n2, k, n * n2 * k);
|
|
found = true;
|
|
break;
|
|
}
|
|
}
|
|
if found {
|
|
break;
|
|
}
|
|
}
|
|
}
|