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

JavaScript에서 숫자 회문을 만들기 위한 계산 단계

<시간/>

문제

첫 번째이자 유일한 인수로 숫자 num을 취하는 JavaScript 함수를 작성해야 합니다.

함수는 회문을 얻는 데 필요한 특수 단계 수를 반환해야 합니다. 특별한 단계는 "숫자를 뒤집고 원래 숫자에 더하기"입니다. 결과 숫자가 회문이 아닌 경우 결과 숫자가 회문이 될 때까지 합계를 사용하여 절차를 반복합니다.

예를 들어, 함수에 대한 입력이 -

인 경우

입력

상수 번호 =87;

출력

상수 출력 =4;

출력 설명

관련된 단계는 다음과 같기 때문에 -

<미리>87 + 78 =165; 165 + 561 =726; 726 + 627 =1353; 1353 + 3531 =4884

예시

다음은 코드입니다 -

const num =87;const countSteps =(num) => { let res =0; while (!isPalindrome(num)) { res++ num +=+('' + num).split``.reverse().join``}; return res;}const isPalindrome =num => { let i =0 let str ='' + num while (i++ <=str.length / 2) { if (str[i] !==str[str.length - 1 - i]) 거짓 반환 }; return true}console.log(countSteps(num));

출력

4