第一次poj的尝试——poj1423

来源:互联网 发布:淘宝用淘客推广权重低 编辑:程序博客网 时间:2024/06/18 13:25
#include <stdio.h>#include <math.h>#define PI  3.141592653589793239#define E   2.7182818284590452354int main(){    int n,i;/*n是表示输入数的个数*/    double a,b;    int num[30]={0};    int ans,x;    scanf("%d",&n);    for(i=0;i<n;i++)        scanf("%d",&num[i]);    /*依次处理、输出每个数字*/    for(i=0;i<n;i++){        b=0;        a=(double)(num[i]);        if(a>=10000)            b=log10(sqrt(2.0*PI*a))+a*log10(a/E);        else{            x=num[i];            while(x--){                b+=log10(a);                a-=1;            }        }        ans=(int)b;        if(ans<=b)            ans++;        printf("%d\n",ans);    }    return 0;}

最先刚开始写的时候没有用斯特林公式,用十分朴素的方法写,结果提交上去是TLE;

后来在网上浏览了几位大神的帖子,开始尝试使用斯特林公式写,结果再交就是Runtime Error了,不懂为什么搞了好久;

今天突然灵机一动把数组大小改成30 ,就过了

poj真尼玛是个神奇的网站;

把数组大小改成20就是RE

改成50就是Wrong Answer




但是,比较大的收获是工欲善其事,必先利其器。

0 0
原创粉丝点击