Showing posts with label কোডশেফ. Show all posts
Showing posts with label কোডশেফ. Show all posts

Codechef - Small Factorial

Problem Link

Problem Description : 

Problem Name : Small factorials 


You are asked to calculate factorials of some small positive integers.

Input


An integer t, 1<=t<=100, denoting the number of testcases, followed by t lines, each containing a single integer n, 1<=n<=100.

Output


For each integer n given at input, display a line with the value of n!

Example

Sample input:
4
1
2
5
3
Sample output:
1
2
120
6

Solution : 




ফ্যাক্টোরিয়াল এর অলি-গলি !!

কয়েকদিন আগে একটা প্রবলেম সল্ভ করতে গিয়ে একটা ধাক্কা খেলাম, প্রবলেমে বলছে,factorial বের করতে হবে 1001 এর উপরে আমি প্রথমে খুশি এইটা কোন ব্যাপার রিকারসিভ function দিয়া করে ফেলব পরে করতে গিয়া খাইলাম ধরা আরে factorial নাম্বার বের হয় না কেন long,double নিলাম তারপরও দেখি কাজ হয় না পরে বুঝতে পারলাম এইভাবে factorial বের করা যাবে না array দিয়ে একটা অ্যালগরিদম আছে যেটা দিয়ে খুব সহজে অনেক large-number পর্যন্ত factorial বের করা যায়। যাই হোক অনেক কথা বললাম কোডে আসি, Recursive way তে ফ্যাক্টোরিয়াল বের করলে তার complexityO(n) মানে লিনিয়ার।  C তে array দিয়ে খুব সহজেই large factorial number বের করা যায়, আবার জাভা তে  big integer  লাইব্রেরী দিয়েও বিশাল বিশাল ফ্যাক্টোরিয়াল  নাম্বার বের করা যায়,

যেমনঃ50!=304140932017133780436126081660647688443776415689605120000

00000000


আজ শুধু Recursive code টা দিলাম পরের পোস্টে জাভা এবং সি প্রোগ্রামে কিভাবে বিগ ফ্যাক্টোরিয়াল বের করা যায় তা বিশদ বর্ণনা করা হবে।