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

JavaScript에서 숫자의 합을 몇 번이나 할 수 있습니까?

<시간/>

양의 정수를 받아 추가 지속성을 반환하는 JavaScript 함수를 작성해야 합니다.

정수의 추가 지속성(예:n)은 숫자가 한 자리 정수가 될 때까지 숫자를 해당 숫자의 합으로 대체해야 하는 횟수입니다.

예:숫자가 -

인 경우
1679583

그런 다음

1 + 6 + 7 + 9 + 5 + 8 + 3 = 39 // 1 Pass
3 + 9 = 12 // 2 Pass
1 + 2 = 3 // 3 Pass

따라서 출력은 3이어야 합니다.

예시

이에 대한 코드는 -

const num = 1679583;
const sumDigit = (num, sum = 0) => {
   if(num){
      return sumDigit(Math.floor(num / 10), sum + num % 10);
   };
   return sum;
};
const persistence = num => {
   num = Math.abs(num);
   let res = 0;
   while(num > 9){
      num = sumDigit(num);
      res++;
   };
   return res;
};
console.log(persistence(num));

출력

콘솔의 출력은 다음과 같습니다. -

3