백준 알고리즘
[Bronze II] 소수 찾기 - 1978
성능 요약
메모리: 13216 KB, 시간: 4 ms
분류
소수 판정, 정수론, 수학
제출 일자
2023년 10월 15일 17:35:11
문제 설명
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use std::io::{BufReader,BufRead,BufWriter,stdin,Write,stdout};
fn main(){
let mut reader= BufReader::new(stdin().lock());
let mut writer= BufWriter::new(stdout().lock());
let mut input = String::new();
reader.read_line(&mut input).unwrap();
let n :i32= input.trim().parse().unwrap();
input.clear();
let mut input = String::new();
reader.read_line(&mut input).unwrap();
let nums= input.trim().split_whitespace().map(|x|x.parse().unwrap()).collect::<Vec<i32>>();
let mut result= 0;
for i in nums {
let mut cnt = 0;
if i >1{
for j in 2..i{
if i % j==0 {
cnt+=1;
}
}
if cnt ==0 {
result+=1;
}
}
}
writeln!(writer,"{}",result).unwrap();
writer.flush().unwrap();
}