캐또's coding

2581 - 소수 - node.js 본문

기초 공부/백준 문제 풀이

2581 - 소수 - node.js

JS_K_coding 2022. 8. 29. 11:13

https://www.acmicpc.net/problem/2581

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net


이전 문제인 소수 찾기 문제에서 코드를 일부 가져오면 쉽게 해결 가능하다.

2022.08.29 - [백준 문제 풀이/문제 풀이] - 1978 - 소수 찾기 - node.js

 

가져온 두 숫자 즉 범위 값을 지정해주고 소수찾기를 돌리면 되는데 소수로 찾은 값은 array에 추가하고 마지막에 array가 비었다면 -1을 출력하고 그렇지 않은 경우 array의 합과 가장 작은 값을 출력하는 방식을 사용했다.

 

const input = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n");
const [L, H] = input.map(Number);
let arr = [];
function sosoo(n) {
  if (n < 2) return;
  for (let j = 2; j < n; j++) {
    if (n % j == 0) return;
  }
  arr.push(n);
}
for (let i = L; i <= H; i++) {
  sosoo(i);
}
if (arr == 0) {
  console.log(-1);
} else {
  console.log(arr.reduce((a, b) => a + b));
  console.log(Math.min(...arr));
}

'기초 공부 > 백준 문제 풀이' 카테고리의 다른 글

1929 - 소수 구하기 - node.js  (0) 2022.08.29
11653 - 소인수분해 - node.js  (0) 2022.08.29
1978 - 소수 찾기 - node.js  (0) 2022.08.29
10757 - 큰 수 A+B - node.js  (0) 2022.08.28
2839 - 설탕 배달 - node.js  (0) 2022.08.28
Comments