mo1lusca의 블로그
[백준] 1978 소수 찾기 - Rust 본문
https://www.acmicpc.net/problem/1978
소수를 찾아주면 된다..
use std::io::{self, BufRead, Write};
fn is_prime(n: u32) -> bool {
if n < 2 {
return false;
}
for i in 2..=((n as f64).sqrt() as u32) {
if n % i == 0 {
return false;
}
}
true
}
fn main() {
let mut ilock = io::stdin().lock();
let mut olock = io::stdout().lock();
let mut buf = String::new();
ilock.read_line(&mut buf).expect("error");
buf.trim().parse::<usize>().unwrap();
buf.clear();
ilock.read_line(&mut buf).expect("error");
let numbers = buf.trim().split(" ").map(|s| s.parse::<u32>().unwrap()); //iter상태
let count = numbers.filter(|&x| is_prime(x)).count();
writeln!(olock, "{count}").unwrap();
}
Rust로 입력을 받을땐 문자열로 받아 한글자씩 분리해 정수로 바꾼다.
이 말은 즉슨 숫자의 갯수는 딱히 쓸모가 없다는 것이다.
따라서 첫번째 line은 값을 저장하지 않고 버려준다.
소수 판별은 간단한 함수를 만들어 사용한다.
'PS' 카테고리의 다른 글
| [백준] 23968, 23969 알고리즘 수업 - 버블 정렬 - C (0) | 2025.05.15 |
|---|---|
| [백준] 24460 특별상이라도 받고 싶어 - C (0) | 2025.05.08 |
| [백준] 1010 다리 놓기 - C (0) | 2025.05.02 |
| [백준] 9184 신나는 함수 실행 - C (0) | 2025.05.01 |
| [백준] 2447 별 찍기 - 10 - C (0) | 2025.05.01 |