Multi-base primes: Difference between revisions
Content added Content deleted
m (C++ performance improvement) |
m (Rust - minor edit) |
||
Line 1,442: | Line 1,442: | ||
fn increment(digits: &mut [usize], base: usize) -> bool { |
fn increment(digits: &mut [usize], base: usize) -> bool { |
||
let |
let i = digits.iter_mut().rev(); |
||
for d in i { |
|||
if *d + 1 != base { |
|||
*d += 1; |
|||
return true; |
|||
⚫ | |||
} |
|||
*d = 0; |
|||
} |
} |
||
⚫ | |||
digits[i - 1] += 1; |
|||
true |
|||
} |
} |
||
Line 1,569: | Line 1,568: | ||
441431 -> [5, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 23, 26, 28, 30, 31, 32, 33] |
441431 -> [5, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 23, 26, 28, 30, 31, 32, 33] |
||
elapsed time: |
elapsed time: 15139 milliseconds |
||
</pre> |
</pre> |
||
Line 1,591: | Line 1,590: | ||
50161 -> [7, 8, 9, 13, 17, 18, 19, 20, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43, 44, 47, 48, 52, 55, 56, 59, 60, 62] |
50161 -> [7, 8, 9, 13, 17, 18, 19, 20, 25, 28, 29, 30, 31, 33, 35, 36, 38, 39, 41, 42, 43, 44, 47, 48, 52, 55, 56, 59, 60, 62] |
||
elapsed time: |
elapsed time: 9569 milliseconds |
||
</pre> |
</pre> |
||