सुपर अग्ली नंबर
सुपर अग्ली नंबर वे धनात्मक संख्याएं हैं जिनके सभी अभाज्य गुणनखंड दिए गए अभाज्य सूची primes में हैं जिसका आकार k है। उदाहरण के लिए, [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] primes = [2, 7, 13, 19] के आकार 4 दिए जाने पर पहले 12 सुपर अग्ली नंबरों का क्रम है।
समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या num को पहले आर्गुमेंट के रूप में और अभाज्य संख्याओं की एक सरणी arr को दूसरे आर्गुमेंट के रूप में लेता है। फ़ंक्शन को numवां सुपर अग्ली नंबर ढूंढकर वापस करना चाहिए।
उदाहरण
इसके लिए कोड होगा -
const num = 7;
const arr = [2, 7, 14, 19];
const superUgly = (num = 1, arr = []) => {
arr.sort((a, b) => a - b);
const ptr = [];
const res = [];
for(let i = 0; i < arr.length; i++){
ptr[i] = 0;
};
res.push(1);
for(let i = 1; i < num; i++){
let mn = Math.pow(2, 32) - 1;
for(let j = 0; j < arr.length; j++){
mn = Math.min(mn, arr[j] * res[ptr[j]])
};
res[i] = mn;
for(let j = 0; j < arr.length; j++){
if(mn % arr[j] === 0){
ptr[j]++;
};
};
};
return res[num-1];
};
console.log(superUgly(num, arr));
आउटपुट
कंसोल में आउटपुट होगा -
16