Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में रिकर्सिव प्रोडक्ट ऑफ सम्ड डिजिट्स


हमें एक फ़ंक्शन बनाना है जो किसी भी संख्या में आर्गुमेंट (नंबर लिटरल्स) लेता है, उन्हें एक साथ जोड़ता है, और जब उत्तर केवल 1 अंक लंबा होता है तो अंकों का गुणनफल लौटाता है।

उदाहरण के लिए -

यदि आर्गुमेंट हैं -

16, 34, 42

हमें पहले उन्हें एक साथ जोड़ना होगा -

16+34+42 = 92

और फिर अंकों को एक साथ तब तक गुणा करते रहें जब तक हमें 1-अंक की संख्या न मिल जाए जैसे -

9*2 = 18 1*8 = 8

जब हमें एक अंक की संख्या मिल जाती है, तो हमें इसे अपने फ़ंक्शन से लौटाना होगा।

हम इसे दो फ़ंक्शन में विभाजित करेंगे -

  • एक फ़ंक्शन एक नंबर स्वीकार करता है और उसके अंकों का गुणनफल लौटाता है, हम ऐसा करने के लिए रिकर्सन का उपयोग करेंगे, आइए इस पहले फ़ंक्शन को product() कहते हैं।

  • दूसरा फ़ंक्शन रिकर्सिवली इस product() फ़ंक्शन को कॉल करता है और जांचता है कि क्या गुणनफल 1 अंक का होता है, यह गुणनफल लौटाता है अन्यथा यह पुनरावृति करता रहता है।

इस पूरी कार्यक्षमता के लिए कोड होगा -

उदाहरण

const recursiveMuliSum = (...numbers) => {    const add = (a) => a.length === 1 ? a[0] : a.reduce((acc, val) => acc+val);    const produce = (n, p = 1) => {       if(n){          return produce(Math.floor(n/10), p*(n%10));       };       return p;    };    const res = produce(add(numbers));    if(res > 9){       return recursiveMuliSum(res);    }    return res; }; console.log(recursiveMuliSum(16, 28)); console.log(recursiveMuliSum(16, 28, 44, 76, 11)); console.log(recursiveMuliSum(1, 2, 4, 6, 8));

आउटपुट

कंसोल में आउटपुट होगा -

6 5 2

  1. JavaScript में संख्या के अंकों को अलग करना JavaScript में संख्या के अंकों को अलग करना

    हमें एक JavaScript प्रोग्राम लिखना आवश्यक है जो उपयोगकर्ता को एक इनपुट प्रदान करता है। जब उपयोगकर्ता कुछ मान इनपुट करता है और बटन दबाता है, तो हमारा फ़ंक्शन जांचना चाहिए कि इनपुट एक वैध संख्या है, यदि यह एक वैध संख्या है, तो प्रोग्राम को संख्या के सभी अंकों को स्क्रीन पर अलग-अलग प्रिंट करना चाहिए।

  1. - JavaScript में एक संख्या के n सन्निकट अंकों का सबसे बड़ा गुणनफल

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहली और दूसरी आर्गुमेंट के रूप में दो संख्याएं लेता है, आइए उन्हें m और n कहते हैं। पहली संख्या आमतौर पर कई अंकों वाली संख्या होगी और दूसरी संख्या हमेशा पहली संख्या में अंकों की संख्या से छोटी होगी। फ़ंक्शन को m से n लगातार अंकों का वह समूह ढूंढना चाहिए जिसका ग

  1. - JavaScript में संख्या के अंकों के योग और गुणनफल का अंतर

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या n लेता है। हमारा फ़ंक्शन उस संख्या के सभी अंकों के योग और गुणनफल के बीच निरपेक्ष अंतर खोजना चाहिए।उदाहरणनिम्नलिखिक कोड है − acc * +val, 1); const diff = product - sum; return Math.abs(diff); }; console.log(sumProductDifference(num));आउटपुट