एक धनात्मक पूर्णांक n का विभाजन, n को धनात्मक पूर्णांकों के योग के रूप में लिखने का एक तरीका है। दो योग जो केवल उनके पदों के क्रम में भिन्न होते हैं, उन्हें समान विभाजन माना जाता है।
उदाहरण के लिए, 4 को पांच अलग-अलग तरीकों से विभाजित किया जा सकता है -
4
3 + 1
2 + 2
2 + 1 + 1
1 + 1 + 1 + 1
हमें एक JavaScript फ़ंक्शन लिखना है जो एकमात्र तर्क के रूप में एक धनात्मक पूर्णांक लेता है। फ़ंक्शन को उस पूर्णांक को विभाजित करने के सभी संभावित तरीके ढूंढकर वापस करने चाहिए।
उदाहरण
निम्नलिखित कोड देखें:
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