সাধারণত, একটি ধনাত্মক পূর্ণসংখ্যা n-এর ফ্যাক্টোরিয়াল হল n-এর চেয়ে ছোট বা সমান সব ধনাত্মক পূর্ণসংখ্যার গুণফল। উদাহরণস্বরূপ, factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1।
আমরা বদলে একটি ক্লামসি ফ্যাক্টোরিয়াল করব: ক्रमাগত কমমান পূর্ণসংখ্যা ব্যবহার করে, আমরা গুণ করার অপারেশনগুলো একটি নির্দিষ্ট রোটেশনে বদলাব: গুণ (*), ভাগ (/), যোগ (+) এবং বিয়োগ (-) এই ক্রমে।
উদাহরণস্বরূপ, clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4 + 3 - 2 * 1। যapun, এই অপারেশনগুলো সам্প্রতিক গাণিতিক অপারেশনের ক্রম অনুযায়ী প্রয়োগ করা হয়: আমরা সব গুণ ও ভাগের ধাপগুলো যোগ ও বিয়োগের ধাপগুলোর আগে করি, এবং গুণ ও ভাগের ধাপগুলো বাম থেকে ডানে প্রসেস করা হয়।
জাভাস্ক্রিপ্টে এই ফাংশনের কোড লিখি:
উদাহরণ
const clumsy = num => {
let k=num;
let res = 0, temp=1, i=0;
while(k>0){
temp = k;
if(k-1>0){
temp*=(k-1);
}
if(k-2>0){
temp/=(k-2);
}
if(k-3>0){
if(k===num){
temp+=(k-3);
}else{
temp-=(k-3);
}
}
if(k===num){
res = temp;
}else{
res = res-temp;
}
k = k-4;
}
return res;
};
console.log(clumsy(4));
console.log(clumsy(10));
console.log(clumsy(16));
console.log(clumsy(5));
আউটপুট
কনসোলে আউটপুট হবে:
7 11.75 16.609523809523807 7.666666666666668