Factorial program in C language with error solving
/*Name : C source program Find Factorial program in C language
Author : Funny Coder(Maniruzzman Akash)
It's a free code. You can use it anywhere
*/
#include <stdio.h>
int main()
{
int num, total;
int factorial = 1;
printf("\nEnter an integer: ");
scanf("%d",&num);
if (num < 0){
printf("\nPlease enter a positive number ..!!\nTry Again..\n");
}else{
for(total = 1; total <= num; total++)
{
factorial *= total; /* fac= fac*total */
}
printf("\nFactorial = %d\n",factorial);
}
return 0;
}
Look at the solution of this problem. First if the number is bigger than a problem will be occured. Look at the output:
And the error now. If I enter a big number like 20 for factorial then look at this :
So what's the solution :
/*And Now the output is absolutely right. See:
Name : C source program
Author : Funny Coder(Maniruzzman Akash)
It's a free code. You can use it anywhere
*/
#include <stdio.h>
int main()
{
int num, total;
unsigned long long int factorial = 1;
printf("\nEnter an integer: ");
scanf("%d",&num);
if (num < 0){
printf("\nPlease enter a positive number ..!!\nTry Again..\n");
}else{
for(total = 1; total <= num; total++)
{
factorial *= total; /* fac= fac*total */
}
printf("\nFactorial = %lu\n",factorial);
}
return 0;
}
Here second code we've just used unsigned and long long for big integer number. Because an integer number range is 32676 or more..
No comments:
Post a Comment