你的程序能做50000 吗?
自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
我是今天才注册的,也写了这个算法的代码,不过我不会算时间,请那位帮我算算时间,谢谢:
#include<stdio.h>
/*the max is 1144*/
main()
{ int intx;
/*printf("\nInput:");
scanf("%d",&intx);*/
for(intx=0;intx<50;intx++)
opt(1000);
}
opt(int x)
{ int res[3005],reslen,i,j,k,tmp;
res[1]=reslen=1;
for(i=1;i<=x;i++)
{ for(j=1;j<=reslen;j++)
res[j]*=i;
for(k=1;k<=reslen;k++)
if(res[k]>9)
{ tmp=res[k];
res[k]%=10;
if(k==reslen)
res[++reslen]=0;
res[k+1]+=tmp/10;
}
}
printf("\n");
/*for(i=reslen;i>=1;i--)
printf("%d",res[i]);*/
printf("\n\nLenth: %d",reslen);/*getch();*/
}
不要斗,to kai,有没有看过《C++性能优化***》(忘了书名),反正是蓝色封面很薄的一本书,里面说到,C++比起C语言有一定的起伏,就是,有些命令比C快,有些比C慢,而且慢N倍,其中的绞绞者就是类,用类的话,就算全部inline也不及C快,所以没得比。
这种变量单一的算法题体现不了C++的优点,要用我以前问过那种求路径最长的旅游那种N个变量N个函数N种的关系的,用C就会做到头晕。