সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ধনাত্মক পূর্ণসংখ্যা নেয়। আমাদের ফাংশন এই সংখ্যাটিকে মৌলিক সংখ্যার কিছু শক্তির যোগফল হিসাবে উপস্থাপন করা উচিত।
অতএব, n সংখ্যার জন্য, আমাদের ফাংশনটি এইরকম একটি স্ট্রিং প্রদান করবে −
n = "(p1**n1)(p2**n2)...(pk**nk)"
যেখানে p1, p2, p3..pk হল মৌলিক সংখ্যা এবং n1, n2,..nk হল তাদের অ-ঋণাত্মক শক্তি এবং a ** b মানে হল একটি উত্থাপিত শক্তি b৷
উদাহরণ
নিম্নলিখিত কোড -
const isPrime = num => { for(let i = 2; i < num; i++){ if(num % i === 0){ return false; } }; return num > 1; } const count = (arr = [], n = 1) => { for(const k in arr){ if(n % k === 0){ arr[k] += 1; return count(arr, n / k) } }; return arr; }; const primeFactors = (n) => { const res = []; for(let i = 2; i < n; i++){ if(isPrime(i)){ res.push(i); } }; const arr = []; for(const el in res){ arr[el] = 0; }; count(arr,n); let str = ''; for(const x in arr){ if(arr[x] > 1){ str += '(%s**%s)' %(x,arr[x]) }else if(arr[x] === 1){ str += '(%s)' % (x) }; }; return str }; console.log(primeFactors(86240));
আউটপুট
(2**5)(5)(7**2)(11)