long long টাইপ ব্যবহার করা যাতে বড় সংখ্যাও হ্যান্ডেল করা যায়।
ধাপে ধাপে ব্যাখ্যা:
Step 1: ইউজার ইনপুট নেওয়া।
scanf() → ইউজার একটি সংখ্যা দিবে।
Step 2: Loop চালিয়ে ১ থেকে n পর্যন্ত সব সংখ্যা গুণ করা।
C
for(i =1; i <= n; i++){ fact = fact * i;}
উদাহরণ:
C
#include<stdio.h>intmain(){int n, i;longlong fact =1;printf("একটি সংখ্যা লিখুন: ");scanf("%d",&n);if(n <0){printf("নেগেটিভ সংখ্যার Factorial হয় না।");}else{for(i =1; i <= n; i++){ fact = fact * i;}printf("%d এর Factorial = %lld", n, fact);}return0;}
আউটপুট উদাহরণ:
উদাহরণ ১:
C
ইনপুট:একটি সংখ্যা লিখুন: 5আউটপুট:5 এর Factorial =120
উদাহরণ ২:
C
ইনপুট:একটি সংখ্যা লিখুন: 0আউটপুট:0 এর Factorial =1
উদাহরণ ৩:
C
ইনপুট:একটি সংখ্যা লিখুন: -4আউটপুট:নেগেটিভ সংখ্যার Factorial হয় না।
ব্যাখ্যা:
fact = 1 দিয়ে শুরু করা হয় কারণ Factorial এর গণনা 1 দিয়ে শুরু হয়।
for(i = 1; i <= n; i++) → প্রতি ধাপে গুণ করে ফাইনাল ফলাফল তৈরি হয়।
long long টাইপ ব্যবহার করলে বড় সংখ্যার ফলাফলেও overflow হবে না।
if(n < 0) → Negative সংখ্যার জন্য Factorial নির্ধারিত না, তাই চেক করে দেখানো হয়।