자연수 n
이 매개변수로 주어집니다. n
을 x
로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x
를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
n
≤ 1,000,000n | result |
---|---|
10 | 3 |
12 | 11 |
입출력 예 #1
입출력 예 #2
💡 문제풀이 과정
- n과 x는
자연수
이며,n % x === 1
이 되어야 하므로 x는 최소 2에서 부터 해당한다.- 나는
for()
반복문과 조건문을 통해 리턴했다. 다른 답안을 보니,while
문을 쓴 경우도 있었다.
❓ 자연수란?
자연수
란 양의 정수로 1부터 시작하며, 사물의 개수를 세거나 순서를 매길 떼 사용하는 가장 자연스러운 수이다.
- 그렇다면 0은 자연수인가? 0을 포함하지 않은 자연수는
양의 정수
라고 하며, 0을 포함한 자연수는음의 정수
혹은whole number(정수, 범자연수)
라고 한다. 0을 자연수에 포함하는 가에 대해선 수학자들의 의견에 따라 의견이 갈리는 부분이라고 한다.
✅ 답안 #1
function solution(n) {
for (let x = 2; x < n; x++) {
if (n % x === 1) return x;
}
}
✅ 답안 #2
function solution(n) {
let answer = [];
for (let x = 2; x < n; x++) {
if (n % x === 1) answer.push(x);
}
return answer[0];
}
✅ 답안 #3
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) return x;
}
}