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

JavaScript में सबसे छोटा अच्छा आधार ढूंढना


अच्छा आधार

एक पूर्णांक num के लिए, हम k (k >= 2) को num का अच्छा आधार कहते हैं, यदि num के आधार k में सभी अंक 1 हैं।

उदाहरण के लिए: 13 आधार 3 है 111, इसलिए 3, num = 13 के लिए एक अच्छा आधार है।

समस्या

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

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const str = "4681";

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

const output = "8";

आउटपुट व्याख्या:

क्योंकि 4681 आधार 8 है 11111

कोड

const str = "4681"; const smallestGoodBase = (n = '1') => {    const N = BigInt(n), bigint2 = BigInt(2), bigint1 = BigInt(1), bigint0 = BigInt(0)    let maxLen = countLength(N, bigint2) // result at most maxLen 1s    const findInHalf = (length, smaller = bigint2, bigger = N) => {       if (smaller > bigger){          return [false];       };       if (smaller == bigger) {          return [valueOf1s(smaller, length) == N, smaller]       };       let mid = (smaller + bigger) / bigint2;       let val = valueOf1s(mid, length);       if(val == N){          return [true, mid];       };       if (val > N){          return findInHalf(length, smaller, mid - bigint1);       };       return findInHalf(length, mid + bigint1, bigger);    };    for (let length = maxLen; length > 0; length--) {       let [found, base] = findInHalf(length);       if(found){          return '' + base;       }    };    return '' + (N - 1);    function valueOf1s(base, lengthOf1s) {       let t = bigint1       for (let i = 1; i < lengthOf1s; i++) {          t *= base          t += bigint1       }       return t    }    function countLength(N, base) {       let t = N, len = 0       while (t > bigint0) {          t /= base          len++       }       return len    } }; console.log(smallestGoodBase(str));

आउटपुट

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

8
  1. - JavaScript में सभी अद्वितीय पथ (Unique Paths) ढूंढना

    मान लीजिए हमारे पास m * n क्रम की एक सरणी है। एक व्यक्ति 2-D सरणी के प्रारंभ ब्लॉक (0,0) पर शुरू होता है और वह अंत (m, n) तक पहुंचना चाहता है। सीमा यह है कि एक बार में, वह या तो एक कदम नीचे या एक कदम दाएं जा सकता है। हमें एक JavaScript फ़ंक्शन लिखना है जो 2-D ग्रिड की ऊंचाई और चौड़ाई लेता है। फ़ंक्

  1. - JavaScript में सरणी में मौजूद सबसे छोटा धनात्मक पूर्णांक ढूंढना

    हमें एक JavaScript फ़ंक्शन लिखना है जो पहले और एकमात्र तर्क के रूप में पूर्णांकों की एक सरणी लेता है। हमारे फ़ंक्शन को उस सबसे छोटे धनात्मक पूर्णांक को ढूंढना और वापस करना चाहिए जो सरणी में मौजूद नहीं है। उदाहरण के लिए - यदि इनपुट सरणी है - const arr = [4, 2, -1, 0, 3, 9, 1, -5]; तो आउटपुट होना चाह

  1. - Python में सबसे छोटा अच्छा आधार

    = 2 को n का एक अच्छा आधार कहते हैं, जब n के आधार k में सभी अंक 1 होते हैं। इसलिए यदि संख्या n स्ट्रिंग के रूप में दी गई है, तो हमें n के सबसे छोटे अच्छे आधार को स्ट्रिंग के रूप में लौटाना होगा। इसलिए यदि संख्या 121 है, तो उत्तर 3 होगा, क्योंकि 121 आधार 3 में 11111 है।इसे हल करने के लिए, हम इन चरणों