Skip to content

Instantly share code, notes, and snippets.

@werner
Last active January 8, 2019 20:30
Show Gist options
  • Save werner/00ea90dae3e08b7b57d318c2f5ea9f55 to your computer and use it in GitHub Desktop.
Save werner/00ea90dae3e08b7b57d318c2f5ea9f55 to your computer and use it in GitHub Desktop.
decoding
fn main() {
let spanish_freq = [15.0,12.53, 1.42, 4.68, 5.86, 13.68, 0.69, 1.01, 0.70, 6.25, 0.44, 0.02, 4.97, 3.15, 6.71, 0.31, 8.68, 2.51, 0.88, 6.87, 7.98, 4.63, 3.93, 0.90, 0.01, 0.22, 0.90, 0.52];
let test_paragraph = "ΣΦΨΞΔλΨΔΛΣΦΔλΨξΔϗΞΔΦΨΞϑλΨΛΣΘϑΞϗΦϑλΨΣΞΨλϑΞΨζβΣφΔΨΣΦΨΣΞΨξΛϗΞΞϑΨϖΣΞΨΠΣϖΛΣφΔΞΨΩΨΠΛΣΦϖϗϖϑΨΔΨΞΔΨΘΔφϗΔΨϖΣΨΞϑλΨΓΔΘϗΦϑλΨΣΞΨΔΛΛϗΣΛϑΨαΔΨΣΞΨΔΛΛϗΣΛϑΨαΔΨΣλΨξΔΦϖΣΛΔΨϖΣΨΦϗΣξΞΔΨλβΨΠϑΦΓΡϑΨΔΞΨαϗΣΦμϑΨΞϑΨλΔΞβϖΔΦΨΞΔλΨεΞΔβμΔλΨϖΣΞΨΠΔζϑΦΔΞΨΩΨΔΦϗΘΔΦϖϑΨΞΔΨμΛϑΠΔΨΠΔΛΨΣλϑλΨΓΣΛΛϑλΨΣΞΨΔΛΛϗΣΛϑΨαΔΨΣΞΨΔΛΛϗΣΛϑΨαΔΨΞΔλΨΠΣΦΔλΨΩΨΞΔλΨαΔηβϗμΔλΨλΣΨαΔΦΨΠΔΛΨΞΔΨΘϗλΘΔΨλΣΦϖΔΨΞΔλΨΠΣΦΔλΨλϑΦΨϖΣΨΦϑλϑμΛϑλΨΞΔλΨαΔηβϗμΔλΨλϑΦΨΔζΣΦΔλ";
let char_array = test_paragraph.split("").collect::<Vec<&str>>();
let mut count: Vec<f64> = vec![0.0;381];
let mut result = vec![0;381];
for (i, char) in char_array.iter().enumerate() {
count[i] = (char_array.iter().filter(|&x| x == char).collect::<Vec<&&str>>().len() as f64 * 100.0) / 381.0;
}
for c in count {
let mut temp = vec![];
let mut min: i64 = 0;
for (i, freq) in spanish_freq.iter().enumerate() {
temp.push( ((c - *freq).abs() * 100.0) as i64 );
}
min = temp.clone().into_iter().min().unwrap();
result.push(temp.iter().position(|&r| r == min).unwrap());
}
println!("{:#?}", result);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment