백준 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 |
'알고리즘과 코테' 카테고리의 다른 글
[Java | 백준 1085] 직사각형에서 탈출 (0) | 2021.03.19 |
---|---|
[Java | 백준 2292] 벌집 (0) | 2021.03.19 |
[Java | 백준 2908] 상수 (0) | 2021.03.18 |
[Java | 백준 2941] 크로아티아 알파벳 (0) | 2021.03.18 |
[Java | 백준 1152] 단어의 개수 (0) | 2021.03.18 |
댓글
최근에 올라온 글
TAG
- java
- 웹페이지만들기
- jdbc
- 북클럽
- 노개북
- LifecycleException
- EC2
- git연동
- SQLD
- JIRA
- 호스팅영역
- 배포
- IT 5분 잡학사전
- 정보처리기사
- gradle
- 실용주의프로그래머
- 노마드코더
- spring
- 독서후기
- 오늘의코딩
- 정보처리기사 필기
- intellij
- filezila
- ubuntu
- 정보처리기사 실기
- putty
- 기술블로그
- 개발도서
- gradle build
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함