자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
n ≤ 1,000,000| n | 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;
}
}