-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path69.js
More file actions
45 lines (38 loc) · 1.44 KB
/
69.js
File metadata and controls
45 lines (38 loc) · 1.44 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
문제69 : 골드바흐의 추측
골드바흐의 추측(Goldbach's conjecture)은 오래전부터 알려진 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 개의 소수(Prime number)의 합으로 표시할 수 있다는 것이다. 이때 하나의 소수를 두 번 사용하는 것은 허용한다. - 위키백과
위 설명에서 2보다 큰 모든 짝수를 두 소수의 합으로 나타낸 것을 골드바흐 파티션이라고 합니다.
예)
100 == 47 + 53
56 == 19 + 37
2보다 큰 짝수 n이 주어졌을 때, 골드바흐 파티션을 출력하는 코드를 작성하세요.
* 해당 문제의 출력 형식은 자유롭습니다. 가능하시다면 골드바흐 파티션 모두를 출력하거나, 그 차가 작은 것을 출력하거나 그 차가 큰 것 모두 출력해보세요.
*/
// 내 답안
const input = 100;
let prime = [];
let primes = [];
for (let v = 2; v < input + 1; v++) {
let array = [];
for (let i = 1; i < v + 1; i++) {
if (v % i === 0) {
array.push(i);
}
}
prime.push(array);
}
for (let i = 0; i < prime.length; i++) {
if (prime[i].length === 2) {
primes.push(prime[i][1]);
}
}
console.log(primes);
let result = [];
for (let i = 0; i < primes.length; i++) {
for (let v = 0; v < primes.length; v++) {
if (primes[i] + primes[v] === input) {
result.push(input + " == " + primes[i] + " + " + primes[v]);
}
}
}
console.log(result.slice(0, result.length / 2));