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

जावास्क्रिप्ट में n तक योग करने वाले पूर्ण वर्गों की सबसे छोटी संख्या

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक सकारात्मक संख्या लेता है, जैसे कि संख्या, एकमात्र तर्क के रूप में।

फ़ंक्शन को ऐसे पूर्ण वर्ग संख्याओं का संयोजन खोजना चाहिए जो जोड़ने पर इनपुट के रूप में प्रदान की गई संख्या देता है। हमें यह सुनिश्चित करना होगा कि हम पूर्ण वर्गों की यथासंभव कम संख्या का उपयोग करें।

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

अगर इनपुट नंबर है -

const num = 123;

तब आउटपुट होना चाहिए -

const output = 3;

क्योंकि 123 =121 + 1 + 1

यह एक क्लासिक डायनेमिक प्रोग्रामिंग समस्या है जहां हम किसी विशेष संख्या के लिए उसके पूर्ववर्ती नंबरों के परिणामों के आधार पर परिणाम तक पहुंच सकते हैं।

सीधे कोड में जाने से पहले आइए पहले एक सामान्य पैटर्न को समझने की कोशिश करें और डीपी वास्तव में समाधान तैयार करने में हमारी मदद कैसे करेगा।

छह पांच नंबरों का परिणाम होगा -

1 --> 1 (1)
2 --> 2 (1 + 1)
3 --> 3 (1 + 1 + 1)
4 --> 1 (4)
5 --> 2 (4 + 1)
6 --> 3 (4 + 1 + 1)

यह स्पष्ट रूप से दिखाता है कि हमें सफल परिणाम प्राप्त करने के लिए पूर्ववर्ती परिणामों में संयोजन का प्रयास करना होगा।

उदाहरण

निम्नलिखित कोड है -

const num = 123;
const sumSquares = (num) => {
   let arr = new Array(num + 1).fill(0);
   arr[1] = 1;
   for(let i = 1; i * i <= num; i++) {
      for(let j = i * i; j < arr.length; j++) {
         if(arr[j] == 0) {
            arr[j] = arr[j - (i * i)] + 1;
         } else {
            arr[j] = Math.min(arr[j - (i * i)] + 1, arr[j]);
         }
      }
   };
   return arr[num];
};
console.log(sumSquares(num));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

3

  1. Number.NEGATIVE_INFINITY जावास्क्रिप्ट में

    नंबर.NEGATIVE_INFINITY संख्या . की संपत्ति ऑब्जेक्ट नकारात्मक अनंत मान का प्रतिनिधित्व करता है। सिंटैक्स इसका सिंटैक्स इस प्रकार है Number.NEGATIVE_INFINITY उदाहरण <html> <head>    <title>JavaScript Example</title> </head> <body>    <script

  1. जावास्क्रिप्ट संख्या समारोह

    जावास्क्रिप्ट नंबर () फ़ंक्शन किसी ऑब्जेक्ट मान को उसके संबंधित संख्यात्मक मान के तर्क के रूप में परिवर्तित करता है। जावास्क्रिप्ट नंबर () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta

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

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