문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. 2보다 큰 짝수..
문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60 이상 100 이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 입력 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. 출력 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. 풀이 IntStream을 두 번 사용해서 ..
소수(Prime Number)는 1과 자기 자신으로밖에 나누어 떨어지지 않는 1 이외의 정수를 말한다. 지난 글에 올렸던 스트림으로 도는 이중 반복문을 소수 찾기에 응용해 보았다. 임의의 정수 m과 n사이의 소수를 전부 출력하는 코드이며, 단순이 2부터 자기 자신의 제곱근까지 전부 나누어보는 방법을 취한다. 조금 더 정확하게는 두 가지의 필터링을 사용하는데, 1보다 큰 수일 것 2부터 자기 자신의 제곱근(의 반올림)까지 나누어 떨어지지 않을 것 이다. 코드를 보자. import java.util.Scanner; import java.util.stream.IntStream; public class SearchPrimeNumbers { public static void main(String[] args) {..
- Total
- Today
- Yesterday
- spring
- 여행
- 스프링
- 유럽여행
- java
- BOJ
- 동적계획법
- 중남미
- 세모
- Algorithm
- 면접 준비
- 세계여행
- 파이썬
- 알고리즘
- 남미
- 백준
- 자바
- 리스트
- a6000
- 칼이사
- Python
- RX100M5
- 야경
- 지지
- 유럽
- 맛집
- Backjoon
- 스트림
- 세계일주
- 기술면접
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |