finish 33
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "euler33"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut result = vec![];
|
||||||
|
|
||||||
|
for i in 11..100 {
|
||||||
|
if i % 10 == 0 {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for j in i..100 {
|
||||||
|
if j % 10 == 0 {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if i == j {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let ifl = i as f64;
|
||||||
|
let jfl = j as f64;
|
||||||
|
|
||||||
|
let mut ic = i.to_chars();
|
||||||
|
let mut jc = j.to_chars();
|
||||||
|
|
||||||
|
let mut found_something = false;
|
||||||
|
'outer: for i_idx in 0..=1 {
|
||||||
|
for j_idx in 0..=1 {
|
||||||
|
if ic[i_idx] == jc[j_idx] {
|
||||||
|
ic.remove(i_idx);
|
||||||
|
jc.remove(j_idx);
|
||||||
|
found_something = true;
|
||||||
|
break 'outer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !found_something {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let correct_ratio = ifl / jfl;
|
||||||
|
let wrong_ratio =
|
||||||
|
ic[0].to_digit(10).unwrap() as f64 / jc[0].to_digit(10).unwrap() as f64;
|
||||||
|
if wrong_ratio == correct_ratio {
|
||||||
|
result.push((i, j));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut numerator = 1.0;
|
||||||
|
let mut denominator = 1.0;
|
||||||
|
for item in result {
|
||||||
|
numerator *= item.0 as f64;
|
||||||
|
denominator *= item.1 as f64;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("{} / {}", numerator, denominator);
|
||||||
|
println!("{}", denominator / numerator);
|
||||||
|
}
|
||||||
|
|
||||||
|
trait ToChars {
|
||||||
|
fn to_chars(&self) -> Vec<char>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ToChars for u32 {
|
||||||
|
fn to_chars(&self) -> Vec<char> {
|
||||||
|
self.to_string().chars().collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user