नार्सिसिस्टिक नंबर
दिए गए नंबर बेस b में एक नार्सिसिस्टिक नंबर वह संख्या है जो अपने स्वयं के अंकों के योग के बराबर होती है, प्रत्येक को अंकों की संख्या की घात तक उठाया जाता है।
उदाहरण के लिए -
153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153
इसी तरह,
1 = 1^1 = 1
दृष्टिकोण
हम पहले व्हाइल लूप का उपयोग करके अंकों की संख्या गिनेंगे। फिर दूसरे व्हाइल लूप के साथ, हम संख्या का अंतिम अंक चुनते हैं और उसकी (count) घात को एक वेरिएबल sum में जोड़ते हैं। लूप के बाद हम एक बूलियन लौटाते हैं जो जांचता है कि क्या sum संख्या के बराबर है या नहीं।
इस दृष्टिकोण के लिए कोड होगा -
उदाहरण
const isNarcissistic = (num) => { let m = 1, count = 0; while(num / m > 1){ m *= 10; count++; }; let sum = 0, temp = num; while(temp){ sum += Math.pow(temp % 10, count); temp = Math.floor(temp / 10); }; return sum === num; }; console.log(isNarcissistic(153)); console.log(isNarcissistic(1634)); console.log(isNarcissistic(1433)); console.log(isNarcissistic(342));आउटपुट
कंसोल में आउटपुट होगा -
true true false false