Skip to content

Instantly share code, notes, and snippets.

@sireliah
Created February 9, 2019 12:47
Show Gist options
  • Select an option

  • Save sireliah/24ae7ce5b9aafaa13ebcdfac494272bc to your computer and use it in GitHub Desktop.

Select an option

Save sireliah/24ae7ce5b9aafaa13ebcdfac494272bc to your computer and use it in GitHub Desktop.
pub fn generate_primes(max: u64) -> Vec<u64> {
let mut candidates: Vec<u64> = vec![1; max as usize + 1];
candidates[0] = 0;
candidates[1] = 0;
let max_sqrt = (max as f64).sqrt() as u64 + 1;
for number in 2..max_sqrt {
let mut multiplied = number * number;
while multiplied < max + 1 {
candidates[multiplied as usize] = 0;
multiplied += number;
}
}
candidates
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment