Computer >> Máy Tính >  >> Lập trình >> Javascript

Đếm các bước để tạo palindrome số trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số, num, làm đối số đầu tiên và duy nhất.

Hàm của chúng ta sẽ trả về số bước đặc biệt cần thiết để có được palindrome. Bước đặc biệt là:"đảo ngược các chữ số và thêm vào số ban đầu". Nếu số kết quả không phải là palindrome, hãy lặp lại quy trình với tổng cho đến khi số kết quả là palindrome.

Ví dụ:nếu đầu vào của hàm là -

Đầu vào

 const num =87; 

Đầu ra

 const output =4; 

Giải thích đầu ra

Bởi vì các bước liên quan là -

87 + 78 =165; 165 + 561 =726; 726 + 627 =1353; 1353 + 3531 =4884

Ví dụ

Sau đây là mã -

 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 false}; trả về true} console.log (countSteps (num)); 

Đầu ra

 4