File tree Expand file tree Collapse file tree 1 file changed +38
-12
lines changed Expand file tree Collapse file tree 1 file changed +38
-12
lines changed Original file line number Diff line number Diff line change 1
1
use std:: io;
2
2
3
3
fn main ( ) {
4
- let mut line = String :: new ( ) ;
5
- io:: stdin ( ) . read_line ( & mut line) . expect ( "" ) ;
4
+ let limit = 100 ;
5
+ // let mut line = String::new();
6
+ // io::stdin().read_line(&mut line).expect("");
6
7
7
- let inputs: Vec < i32 > = line. split_whitespace ( )
8
- . map ( |f| f. parse ( ) . expect ( "" ) )
9
- . collect ( ) ;
8
+ let mut is_prime = vec ! [ true ; limit + 1 ] ;
9
+ is_prime[ 0 ] = false ;
10
+ if limit >= 1 {
11
+ is_prime[ 1 ] = false
12
+ }
10
13
11
- let mut m = inputs[ 0 ] ;
12
- let mut n = inputs[ 1 ] ;
14
+ for num in 2 ..limit+1 {
15
+ if is_prime[ num] {
16
+ let mut multiple = num * num;
17
+ println ! ( "{}" , multiple) ;
18
+ while multiple <= limit {
19
+ is_prime[ multiple] = false ;
20
+ multiple = num;
21
+ }
22
+ }
23
+ }
13
24
14
- let mut arr: [ i32 ; 10000000 ] ;
15
- let stop: i32 = arr. len ( ) as i32 ;
25
+ let v: Vec < usize > = is_prime. iter ( ) . enumerate ( )
26
+ . filter_map ( |( pr, & is_pr) | if is_pr { Some ( pr) } else { None } )
27
+ . collect ( ) ;
16
28
17
- // how can initilize array in Rust?
18
- for i in 0 ..stop {
19
- arr[ i] = i;
29
+ for i in 5 ..10 {
30
+ if is_prime[ i] {
31
+ println ! ( "{}" , v[ i] ) ;
32
+ }
20
33
}
34
+
35
+ // let inputs: Vec<usize> = line.split_whitespace()
36
+ // .map(|f| f.parse().expect(""))
37
+ // .collect();
38
+
39
+ // let mut m:usize = inputs[0];
40
+ // let mut n:usize = inputs[1];
41
+
42
+ // for index in m..n {
43
+ // if is_prime[index] {
44
+ // println!("{}", index);
45
+ // }
46
+ // }
21
47
}
You can’t perform that action at this time.
0 commit comments