समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में एक संख्या, संख्या लेता है।
हमारे फ़ंक्शन को पैलिंड्रोम प्राप्त करने के लिए आवश्यक विशेष चरणों की संख्या वापस करनी चाहिए। विशेष कदम है:"अंकों को उलट दें, और मूल संख्या में जोड़ें"। यदि परिणामी संख्या नोटा पैलिंड्रोम है, तो योग के साथ प्रक्रिया को तब तक दोहराएं जब तक कि परिणामी संख्या पैलिंड्रोम न हो जाए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const num = 87;
आउटपुट
const output = 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 false }; return true } console.log(countSteps(num));
आउटपुट
4