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

जावास्क्रिप्ट में इनपुट के लिए एकरमैन नंबर की गणना

<घंटा/>

एकरमैन फंक्शन

एकरमैन फ़ंक्शन एक पुनरावर्ती फ़ंक्शन का एक उत्कृष्ट उदाहरण है, विशेष रूप से उल्लेखनीय है क्योंकि यह एक आदिम पुनरावर्ती फ़ंक्शन नहीं है। यह मूल्य में बहुत तेज़ी से बढ़ता है, जैसा कि इसके कॉल ट्री के आकार में होता है।

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो दो संख्याओं को लेता है, m और n पहले और दूसरे तर्क के रूप में। हमारे फ़ंक्शन को एकरमैन नंबर ए (एम, एन) द्वारा परिभाषित वापस करना चाहिए

A(m,n) = n+1 if m=0
A(m,n) = A(m-1,1) if m>0 , n=0
A(m,n) = A(m-1,A(m,n-1)) if m,n > 0

उदाहरण

const m = 12;
const n = 11;
const ackermann = (m, n) => {
   if (m === 0) {
      return n+1
   }
   if (n === 0) {
      return ackermann((m - 1), 1);
   }
   if (m !== 0 && n !== 0) {
      return ackermann((m-1), ackermann(m, (n-1)))
   }
}
console.log(ackermann(m, n));

  1. के लिए समझाएं। . .of लूप जावास्क्रिप्ट।

    for..of लूप हमें सरणी, स्ट्रिंग, सरणी जैसे ऑब्जेक्ट, नोडलिस्ट आदि जैसे पुनरावृत्त वस्तुओं पर पुनरावृति करने की अनुमति देता है। जावास्क्रिप्ट में for..of लूप के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />

  1. जावास्क्रिप्ट में स्टेटमेंट के लिए... के बारे में बताएं?

    for…in लूप सभी ऑब्जेक्ट गुणों के माध्यम से लूप करता है। जावास्क्रिप्ट में for..in स्टेटमेंट को लागू करने वाला कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width

  1. जावास्क्रिप्ट में संख्या पैटर्न

    हमें एक जावास्क्रिप्ट और एचटीएमएल प्रोग्राम लिखना आवश्यक है जो उपयोगकर्ता को टेक्स्ट इनपुट और बटन प्रदान करता है। जब उपयोगकर्ता इनपुट में कोई मान दर्ज करता है, जैसे 5, और बटन पर क्लिक करता है, तो हमें स्क्रीन पर निम्न पैटर्न प्रिंट करना चाहिए। (एन =5 के लिए) 01 01 02 01 02 03 01 02 03 04 01 02 03 0