Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define MAX 10000
- void multiply(int num[],int *int_len,int val) {
- int i=0,temp=0,x,count=*int_len;
- for(i=0;i<*int_len;i++) {
- x=num[i] * val + temp;
- num[i] = x%10;
- temp=x/10;
- }
- if(temp != 0) {
- while(temp > 0) {
- num[count++]=temp%10;
- temp/=10;
- }
- }
- *int_len=count;
- }
- int main()
- {
- int num[MAX],len=0,i,number,temp;
- printf(" Enter a number whose factorial is to be found (0-10000): ");
- scanf("%d",&number);
- temp = number;
- while(number > 0) {
- num[len++] = number % 10;
- number/=10;
- }
- for(i=1;i<temp;i++) {
- multiply(num,&len,i);
- }
- printf(" The factorial : ");
- for(i=len-1;i>=0;i--) {
- printf("%d",num[i]);
- }
- printf("\n");
- }
Add Comment
Please, Sign In to add comment