সমস্যা
দুই সংখ্যা m এবং n দেওয়া আছে। m-এর প্রথম nটি প্রাকৃতিক গুণফল (natural multiples) দিয়ে একটি অ্যারে তৈরি করতে হবে।
উদাহরণ কোড
const m = 6;
const n = 14;
const firstNMultiple = (m = 1, n = 1) => {
const res = [];
for (let i = 1; i <= n; i++) {
const multiple = m * i;
res.push(multiple);
}
return res;
};
console.log(firstNMultiple(m, n));
আউটপুট
[ 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84 ]
ব্যাখ্যা
- লুপ ১ থেকে
nপর্যন্ত চলে। - প্রতিবার
m * iক্যালকুলেট করে অ্যারেয়ে পুশ করা হয়। - ডিফল্ট প্যারামিটার
m=1, n=1দেওয়া আছে।
আধুনিক সংক্ষিপ্ত সংস্করণ (ES6+)
const firstNMultipleModern = (m, n) =>
Array.from({ length: n }, (_, i) => m * (i + 1));
console.log(firstNMultipleModern(6, 14));
// [6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84]
ব্যাখ্যা
Array.from({ length: n }, mapFn)- দৈর্ঘ্যnএর অ্যারে তৈরি করে এবং ম্যাপ ফাংশন প্রয়োগ করে।i০-বেসড, তাইi + 1ব্যবহার করা হয়েছে।
জেনেরেটর ভার্সন (মেমরি ইফিশিয়েন্ট)
function* multiplesGenerator(m, n) {
for (let i = 1; i <= n; i++) {
yield m * i;
}
}
console.log([...multiplesGenerator(6, 14)]); // অ্যারে বানাতে
// বা ইটারেট করতে:
for (const mult of multiplesGenerator(6, 5)) {
console.log(mult); // 6, 12, 18, 24, 30
}
প্রয়োগের ক্ষেত্র
- গাণিতিক টেবিল জেনারেট করা
- অ্যালগরিদম টেস্টিংয়ের জন্য টেস্ট ডেটা তৈরি
- এডুকেশনাল অ্যাপে গুণন তালিকা দেখানো