hdu 1018
数学题 用的这个方法比较烂 g++超时 c++ 406ms
/*************************************************************************
> Author: xlc2845 > Mail: xlc2845@gmail.com
> Created Time: 2013年10月16日 星期三 20时47分16秒
************************************************************************/
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <cmath>
#define MAX 0x7fffffff
using namespace std;
int main()
{
int t,n;
double sum;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
sum = 0;
for(int i = 1; i <= n; i++)
sum += log10((double)i);
printf("%d\n",(int)sum+1);
}
return 0;
}

浙公网安备 33010602011771号