Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

นับขั้นตอนสร้างตัวเลขพาลินโดรมใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข num เป็นอาร์กิวเมนต์แรกและตัวเดียวเท่านั้น

ฟังก์ชันของเราควรส่งคืนจำนวนขั้นตอนพิเศษที่จำเป็นในการรับพาลินโดรม ขั้นตอนพิเศษคือ:"กลับหลักและเพิ่มจำนวนเดิม" หากจำนวนผลลัพธ์คือ nota palindrome ให้ทำซ้ำขั้นตอนด้วยผลรวมจนกระทั่งตัวเลขผลลัพธ์เป็น palindrome

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −

ป้อนข้อมูล

const num =87;

ผลผลิต

เอาต์พุตคอนสตรัค =4;

คำอธิบายผลลัพธ์

เนื่องจากขั้นตอนที่เกี่ยวข้องคือ −

<ก่อน>87 + 78 =165; 165 + 561 =726; 726 + 627 =1353; 1353 + 3531 =4884

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num =87;const countSteps =(num) => { ให้ res =0; ในขณะที่ (!isPalindrome(num)) { res++ num +=+('' + num).split``.reverse().join``}; return res;}const isPalindrome =num => { ให้ i =0 ให้ str ='' + num ในขณะที่ (i++ <=str.length / 2) { if (str [i] !==str[str.length - 1 - i]) คืนค่าเท็จ }; return true}console.log(countSteps(num));

ผลลัพธ์

4