标签:
唉,还没坚持一下下怎么就能说自己不行
我的改了一天都没改好,到了晚上都没耐心再改了。这么蒟蒻道题,我能做这么久真是能耐
先上刘汝佳版标准代码
1 //hdoj1042.cpp 2 #include<iostream> 3 #include<string> 4 using namespace std; 5 const int MAXN=36000;//求10000!数组要36000才行 6 7 int a[MAXN]; 8 int main(){ 9 int n,i,j; 10 while(scanf("%d",&n)!=EOF){ 11 memset(a,0,sizeof(a)); 12 a[0]=1; 13 for(i=2;i<=n;i++){ 14 int c=0; 15 for(j=0;j<MAXN;j++){//这一段技巧性很强,要自己动手测试几个数据就能看懂了 16 int s=a[j]*i+c; 17 a[j]=s%10; 18 c=s/10; 19 } 20 } 21 for(j=MAXN-1;j>=0;j--) 22 if(a[j]) 23 break; 24 for(i=j;i>=0;i--) 25 printf("%d",a[i]); 26 printf("\n"); 27 28 } 29 return 0; 30 }
我的再改改。。。。
老毛病又犯了,做不出来就没法开下一道,唉
对比一下人家的代码,我的思路就是模拟,模拟整个运算过程,但是其实有的时候是要把工作交个计算机做的,让计算机去筛选,就比如说这道题对位数的处理。
标签:
原文地址:http://www.cnblogs.com/travelller/p/4282543.html