https://www.acmicpc.net/problem/4134
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
input.shift();
let arr = input.map(Number);
let answer = [];
function isPrime(n){
if(n<2){
return false;
}
for(let i = 2; i<= Math.sqrt(n); i++){
if(n%i===0) return false;
}
return true;
}
while(arr.length != 0){
if(isPrime(arr[0])){
answer.push(arr[0]);
arr.shift();
}else{
arr[0]++;
}
}
console.log(answer.join('\n'));
- 받아온 수를 소수인지 검사하고 소수가 아니라면
false
를 리턴하고 소수이면true
를 리턴한다.- 소수가 아니라면 그 값을 1 더해줘서 다음걸 검사하고 소수가 나올때까지
while
문을 돌린다.- 소수면
answer
에 넣어주고 넣은 수는shift
로 빼주고 정답 출력