एक धनात्मक पूर्णांक n का विभाजन n को धनात्मक पूर्णांकों के योग के रूप में लिखने का एक तरीका है। दो योग जो केवल उनके योग के क्रम में भिन्न होते हैं उन्हें एक ही विभाजन माना जाता है।
उदाहरण के लिए, 4 को पांच अलग-अलग तरीकों से विभाजित किया जा सकता है -
4 3 + 1 2 + 2 2 + 1 + 1 1 + 1 + 1 + 1
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक सकारात्मक पूर्णांक को एकमात्र तर्क के रूप में लेता है। फ़ंक्शन को उस पूर्णांक को विभाजित करने के सभी संभावित तरीकों को खोजना और वापस करना चाहिए।
उदाहरण
निम्नलिखित कोड है -
const findPartitions = (num = 1) => { const arr = Array(num + 1).fill(null).map(() => { return Array(num + 1).fill(null); }); for (let j = 1; j <= num; j += 1) { arr[0][j] = 0; } for (let i = 0; i <= num; i += 1) { arr[i][0] = 1; } for (let i = 1; i <= num; i += 1) { for (let j = 1; j <= num; j += 1) { if (i > j) { arr[i][j] = arr[i - 1][j]; } else { const exclusive = arr[i - 1][j]; const inclusive = arr[i][j - i]; arr[i][j] = exclusive + inclusive; } } } return arr[num][num]; }; console.log(findPartitions(4));
आउटपुट
कंसोल पर आउटपुट निम्नलिखित है -
5