3nplus1.rs
· 569 B · Rust
Raw
fn main() {
let mut i: u64 = 0;
let mut v: u64;
let mut highest = u64::MIN;
loop {
i += 1;
v = i;
loop {
// Is even
if v % 2 == 0 {
v /= 2;
} else {
v = 3 * v + 1;
}
if v > highest {
highest = v;
}
if v == 1 {
if i % 1_000_000 == 0 {
println!("{:10}: All Pass | HI {:10}", i, highest);
}
break;
}
}
}
}
1 | fn main() { |
2 | let mut i: u64 = 0; |
3 | let mut v: u64; |
4 | let mut highest = u64::MIN; |
5 | loop { |
6 | i += 1; |
7 | v = i; |
8 | loop { |
9 | // Is even |
10 | if v % 2 == 0 { |
11 | v /= 2; |
12 | } else { |
13 | v = 3 * v + 1; |
14 | } |
15 | |
16 | if v > highest { |
17 | highest = v; |
18 | } |
19 | |
20 | if v == 1 { |
21 | if i % 1_000_000 == 0 { |
22 | println!("{:10}: All Pass | HI {:10}", i, highest); |
23 | } |
24 | break; |
25 | } |
26 | } |
27 | } |
28 | } |