문제
첫 번째이자 유일한 인수로 숫자 num을 취하는 JavaScript 함수를 작성해야 합니다.
우리의 함수는 두 가지 일을 해야 합니다.
- 우선, 숫자가 10의 소수인지 여부를 확인해야 합니다. 그렇지 않은 경우 -1을 반환해야 합니다(공유하는 유일한 공통 인수가 1인 경우 숫자는 다른 숫자와 소수임).
- 숫자가 10의 소수이면 바로 그 숫자가 1을 나눌 때 반복되는 소수 부분의 길이를 반환해야 합니다.
예를 들어, 함수에 대한 입력이 -
인 경우입력
const num = 123;
출력
const output = 5;
출력 설명
123이라는 숫자는 10과 함께 소수이기 때문에
1을 123으로 나누면 -
1 / 123 = 0.008130081300813…
이것은 소수 부분 00813이 무한 반복되고 길이가 5이므로 출력이 5임을 분명히 보여줍니다.
예시
다음은 코드입니다 -
const num = 123; const findRepeatingPart = (num = 1) => { if(num % 2 === 0 || num % 5 === 0){ return -1; } else { let res = 10 % num, count = 1; while(res != 1){ res = res * 10 % num; count++; }; return count; } }; console.log(findRepeatingPart(num));
출력
5