1000内的阶乘
程序代码:
#include<stdio.h> #include<string.h> const int maxn = 3000; int f[maxn]; int main() { int i,j,n; memset(f,sizeof(f),0); scanf("%d",&n); f[0] = 1; for(i = 2; i <= n; i++) { int c = 0; for(j = 0; j < maxn; j++) { int s = f[j]*i + c; f[j] = s%10; c = s/10; } } for(j = maxn-1; j>=0; j--) { if(f[j]) { break; } } for(i = j; i >= 0; i--) { printf("%d",f[i]); } printf("\n"); return 0; }
不错的代码 与大家共享。。