ফর লুপ ব্যবহার করে ফ্যাক্টোরিয়াল হিসাব করা যায়। এটি রিকার্সনের চেয়ে মেমরি দক্ষ এবং বড় সংখ্যার জন্য উপযোগী।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int n = 6, fact = 1, i;
for (i = 1; i <= n; i++)
fact = fact * i;
cout << "Factorial of " << n << " is " << fact;
return 0;
}
আউটপুট
Factorial of 6 is 720
ব্যাখ্যা
for(i=1; i<=n; i++) fact = fact * i; — লুপ ১ থেকে n পর্যন্ত চলে। প্রতিটি ইটারেশনে fact-কে i দিয়ে গুণ করা হয়। শেষে fact = n! থাকে।
তুলনা
| পক্ষ | রিকার্সন | ইটারেশন |
|---|---|---|
| মেমরি | O(n) স্ট্যাক স্পেস | O(1) |
| পড় ופשטতা | সহজ, গাণিতিক | সহজ, লুপ-ভিত্তিক |
| বড় n | স্ট্যাক ওভারফ্লো রিস্ক | সুরক্ষিত |
সুপারিশ: প্রোডাকশন কোডে ইটারেশন বা std::tgamma (C++17) ব্যবহার করুন।