সমস্যাটি পড়তে এবং সমাধান জমা দিতে ভিজিট করুন দ্বিমিক অনলাইন জাজ।
লিঙ্কঃ https://dimikoj.com/problems/11/
৫২টি প্রোগ্রামিং সমস্যা ও সমাধান বইতে এই সমস্যার সমাধান নিয়ে আলোচনা করা হয়েছে।লিঙ্কঃ https://dimikoj.com/problems/11/
বাংলা ভাষায় কম্পিউটার প্রোগ্রামিং শেখার বই। বইটিতে প্রোগ্রামিং ভাষা হিসেবে সি (C) ব্যবহার করা হয়েছে। প্রোগ্রামিংয়ের জগতে যারা নতুন, তাদের জন্য বইটি সহায়ক। ওয়েবসাইটের যেকোনো অংশ অবাণিজ্যিক উদ্দেশ্যে কপি, প্রিন্ট ও বিতরণ করা যাবে (সৃজনী সাধারণ অবাণিজ্যিক লাইসেন্স)।
প্রোগ্রামিং সংক্রান্ত নানান বই ঘরে বসে অনলাইনে অর্ডার করতে ক্লিক করুন এখানে
বাংলা ভাষায় পাইথন দিয়ে প্রোগ্রামিং শেখার ফ্রি বই - http://pybook.subeen.com
ফ্যাক্টোরিয়ালের জন্য unsigned long int ডেটা টাইপ ব্যবহার করলে ১৫ এর ফ্যাক্টোরিয়ালের ভুল মান রিটার্ন করে । long long int ব্যবহার করে সঠিক উত্তর পাওয়া গেছে । কেন ?
উত্তরমুছুনunsigned long int ১৫ এর ফ্যাক্টরিয়াল ধরার মত যথেষ্ট বড় নয়, long long int যথেষ্ট বড়
মুছুনThe range of unsigned long int is >> 0 to 4,294,967,295
উত্তরমুছুনThe value of factorial 15 is out of range.
So it will give you a garbage value.
আমি যদি n =100 ইনপুট দিতে চাই তাহলে unsigned long long int, এই সীমা তে হবে না!! n = ১০০ এর জন্য আমি কি করতে পারি???? ওইটা নিয়ে একটু আলোচনা করলে উপকৃত হতাম :D
উত্তরমুছুনUnsigned Long Long দিয়ে n = 20 এর বেশি ফ্যাক্টোরিয়াল কোনো ভাবেই প্রিন্ট করা সম্ভব নয় । এজন্য আপনাকে বিগ ইন্টেজার বা স্ট্রিং ম্যানিপুলেশন এর সাহায্য নিতে হবে । এক কথায় স্ট্রিং এর যোগ বিয়োগ গুন ভাগ করা জানতে হবে ।
মুছুনAccepted :)
উত্তরমুছুনyay!! ive used double type and used %.0lf while printing. it worked!!
উত্তরমুছুনand then accepted!!
:-)
sir code টায় problem কোথায়?
উত্তরমুছুন#include
int main()
{
int i,t;
unsigned long int num,p,j;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%lu",&num);
p=1;
for(j=2;j<=num;j++)
{
p=p*j;
}
printf("%lu\n",p);
}
return 0;
}
long long int p;
মুছুনprintf("%lld\n",p);
এই মন্তব্যটি লেখক দ্বারা সরানো হয়েছে।
উত্তরমুছুন#include
উত্তরমুছুনint main()
{
long long int i,j,n,a,b;
long long int s=1;
scanf("%lld",&n);
long long int ara[n];
for(i=0;i=1;j--)
{
s=s*j;
}
ara[i]=s;
s=1;
}
for(i=0;i<n;i++)
{
printf("%lld\n",ara[i]);
}
return 0;
}
its working well.but why not accepting?
Where to submit solution?
উত্তরমুছুনwhy there is no link to submit the solution..please anyone give the link
মুছুনআমি যাদের প্লাগইন ব্যবহার করছি, ওদের সাইট ডাউন। আপাতত অপেক্ষা করা ছাড়া উপায় নেই।
উত্তরমুছুনHello Subeen bhaya, I solved this problem and submitted it. I am not sure why my code hasn't been accepted. It worked fine when I tested it with the numbers in the problem.
উত্তরমুছুন#include
int main()
{
int n,num;
scanf("%d",&num);
while(num--)
{
long long int fact=1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
fact=fact*i;
}
printf("%lld\n",fact);
}
return 0;
}