Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 반복되는 소수 부분의 길이 찾기

<시간/>

문제

첫 번째이자 유일한 인수로 숫자 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