N!

来源:互联网 发布:c语言数据类型范围 编辑:程序博客网 时间:2024/06/02 16:37

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 65434    Accepted Submission(s): 18722


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
123
 

Sample Output
126
C语言程序代码
/*解题思路::这个题是个大数题,首先要开辟一个大的数组来存放大数,接下来就是数组进位,最后是数组输出。主要是数组进位,可以做个模板。 */
#include<stdio.h>#include<string.h>#define N 40001int a[N];int main(){int i,j,m;while(scanf("%d",&m)!=EOF){memset(a,0,sizeof(a));a[0]=1;for(i=2;i<=m;i++){int c=0;for(j=0;j<N;j++)//数组进位 {int s=a[j]*i+c;  a[j]=s%10;c=s/10;}}for(j=N-1;j>=0;j--)//数组输出,消去前面的0 {if(a[j])break;}for(i=j;i>=0;i--){    printf("%d",a[i]);}printf("\n");}return 0;}

0 0