[Java | 백준 1929] 소수 구하기
· 테크· Java
Java
백준 1929번 www.acmicpc.net/problem/1929
풀이
소수를 구하는 문제이다.
먼저, 소수는 1과 자기자신으로만 나뉠 수 있는 양의 정수이다. 즉, 반대되는 합성수가 아닌 수를 말한다.
소수인지 확인하는 check 메서드를 따로 생성하여 풀이했다.
메서드 내용을 살펴보면,
(소수는 boolean b 을 true 로 반환한다.)
1. 먼저 2보다 작은 수 1은 소수가 아니므로 제외했다.
2. 그리고 2는 소수이므로 판별하는 boolean b 값을 true 로 주었다.
3. 그 이상의 수는 판별을 위해 Math.sqrt(a) 를 사용했다. Math.sqrt(a) 메서드는 숫자의 제곱근을 반환하는 메서드이다. 검사할 숫자를 2부터 그 수의 제곱근까지 for문을 이용해 나누어 보고, 나누어 떨어지면 b 값을 false 로 주었다.
이제 이 메서드를 이용해서 n 과 m 사이의 수를 검사해서 그 값이 참이라면 하나씩 출력한다.
|
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
29
30
31
32
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
for (int i=m; i<n+1; i++) {
if(check(i)==true)
System.out.println(i);
}
}
public static boolean check(int a){
boolean b = true;
if(a<2) b=false;
else if(a==2) b=true;
else {
for (int i=2; i<=Math.sqrt(a) ; i++) {
if(a%i==0) {
b=false;
break;
}
}
}
return b;
}
}
|
cs |
Comments
No comments yet. Be the first!
319 posts in 테크
- 368Supabase 프로젝트 복사하기 (Restore to a New Project)NEW
- 341Migrating from Permanent Access Tokens to Token Exchange — Why Order Matters
- 326Startup & Product Glossary: Terms Every Solo Founder Should Know
- 325Context Management — How I Do It Now
- 324Claude Code Routines vs Cowork Schedule — What's the Difference?
1–5 / 319