diff --git a/026/main.rs b/026/main.rs new file mode 100644 index 0000000..fc378e2 --- /dev/null +++ b/026/main.rs @@ -0,0 +1,44 @@ +use std::collections::HashSet; + +fn pr(s: &Vec) { + for c in s.iter() { print!("{}", c); } + println!(""); +} + +fn dv(k: u32) -> Vec { + let mut rms = HashSet::new(); + let mut res: Vec = Vec::new(); + let mut n = 1u32; + loop { + if rms.contains(&n) { + break; + } + rms.insert(n); + if n == 0 { res.clear(); res.push(0); break; } + while n < k { n *= 10; res.push(0u8); } + let m = n / k; + if m > 10 { + println!("fail! {}", m); + } + res.pop(); + //print!("{}", m); + res.push(m as u8); + n = n - m * k; + } + return res; +} + +fn main() { + let mut max = 0; + let mut max_d = 0; + for i in 1..1000 { + let r = dv(i); + if r.len() > max { + max_d = i; + max = r.len(); + } + //pr(&r); + } + println!("{}", max_d); +} +