jackz revised this gist . Go to revision
No changes
Jackz revised this gist . Go to revision
1 file changed, 28 insertions
3nplus1.rs(file created)
@@ -0,0 +1,28 @@ | |||
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 | + | } |
Newer
Older