We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 42f5c5a commit 9499d20Copy full SHA for 9499d20
count_primes/src/lib.rs
@@ -18,26 +18,24 @@ impl Solution {
18
// }
19
20
pub fn count_primes(n: i32) -> i32 {
21
- if n < 2 {
+ if n <= 2 {
22
return 0;
23
}
24
+
25
let n = n as usize;
26
let mut nums = vec![true; n];
27
nums[0] = false;
28
nums[1] = false;
- for i in 2..n {
29
- if i * i >= n {
30
- break;
31
- }
32
- if !nums[i] {
33
- continue;
34
35
- for times in i..n {
36
- if times * i >= n {
37
+ let mut i = 2;
+ while i * i < n {
+ if nums[i] {
+ let mut j = 2;
+ while i * j < n {
+ nums[i * j] = false;
+ j += 1;
38
39
- nums[times * i] = false;
40
+ i += 1;
41
42
nums.iter().filter(|&&x| x).count() as i32
43
0 commit comments