Skip to content

Commit 761a444

Browse files
author
Dongsoon Shin
committed
1929. 소수 구하기 #12, not complete, 20230112
1 parent dafa03e commit 761a444

File tree

1 file changed

+38
-12
lines changed

1 file changed

+38
-12
lines changed

class01/1929/9h05t.rs

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,47 @@
11
use std::io;
22

33
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("");
67

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+
}
1013

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+
}
1324

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();
1628

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+
}
2033
}
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+
// }
2147
}

0 commit comments

Comments
 (0)