Coin de Gamma
2 years ago
2 changed files with 53 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||||||
|
use std::fs::File; |
||||||
|
use std::io::prelude::*; |
||||||
|
|
||||||
|
|
||||||
|
fn ascore(s: &str) -> u32 { |
||||||
|
let sr = s.replace("\"",""); |
||||||
|
let chars = sr.chars(); |
||||||
|
//println!("------>>>>{}", sr);
|
||||||
|
let mut sum = 0u32; |
||||||
|
for (i, c) in sr.chars().enumerate() { |
||||||
|
//println!(":[{}];", c);
|
||||||
|
let dd = (c as u32) - 64; |
||||||
|
sum += dd; |
||||||
|
//println!("{} {} {}", i, c, dd);
|
||||||
|
} |
||||||
|
return sum; |
||||||
|
} |
||||||
|
|
||||||
|
fn main() { |
||||||
|
//let name = "COLIN";
|
||||||
|
//let score = ascore(name);
|
||||||
|
|
||||||
|
let mut file = File::open("names.txt").unwrap(); |
||||||
|
let mut content = String::new(); |
||||||
|
file.read_to_string(&mut content).expect("cant read file"); |
||||||
|
let names_split = content.split(","); |
||||||
|
let mut names: Vec<String> = Vec::new(); |
||||||
|
|
||||||
|
for name in names_split { |
||||||
|
names.push(String::from(name)); |
||||||
|
} |
||||||
|
names.sort(); |
||||||
|
|
||||||
|
//println!("{}", content);
|
||||||
|
|
||||||
|
let mut i = 1u32; |
||||||
|
let mut sum = 0; |
||||||
|
for nm in names { |
||||||
|
let name = nm.as_str(); |
||||||
|
let score = ascore(name) * i; |
||||||
|
sum += score; |
||||||
|
println!("{} [{}, {}, {}]", name, ascore(name), i, ascore(name) * i); |
||||||
|
i += 1; |
||||||
|
//if i > 10 {
|
||||||
|
// break;
|
||||||
|
//}
|
||||||
|
//println!("{}", name);
|
||||||
|
} |
||||||
|
//println!("len: ", names.len());
|
||||||
|
|
||||||
|
println!("score: {}", sum); |
||||||
|
} |
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue