N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 64556 Accepted Submission(s): 18431
Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
1 2 3
Sample Output
1 2 6
Author
JGShining(极光炫影)
1 #include <stdio.h> 2 int num[100100] ; 3 int main() 4 { 5 int n ; 6 while(~scanf("%d", &n)) 7 { 8 num[1] = 1 ; // n = 0 ; 9 int i, j, temp, d=1, c=0, sum ; 10 for(i=1; i<=n; i++) 11 { 12 for(j=1; j<=d; j++) //一位位乘,取余保存,取整进位,d表示结果位数 ; 13 { 14 temp = num[j] * i + c ; 15 num[j] = temp % 10 ; 16 c= temp / 10 ; 17 } 18 while(c) 19 { 20 num[++d] = c % 10 ; 21 c /= 10 ; 22 } 23 } 24 for(i=d; i>=1; i--) 25 printf("%d", num[i]) ; 26 printf("\n") ; 27 } 28 return 0 ; 29 }