HDU1018 Big Number

来源:互联网 发布:avr单片机交流微信群 编辑:程序博客网 时间:2024/06/05 11:26

  题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018

  求n!长度

  求x十进制下长度为trunc(lg(x))+1

  因为lg(x*y)=lg(x)+lg(y)

  所以1~n枚举一下把lg(i)相加最后向下取整加一就是答案

  贴代码

 var i,j,n,x:longint;     ans:double;  begin //  assign(input,'1018.in');reset(input); //  assign(output,'1018.out');rewrite(output);   read(n);   for i:=1 to n do    begin     read(x);ans:=0;     for j:=1 to x do ans:=ans+ln(j)/ln(10);     ans:=trunc(ans)+1;     writeln(ans:0:0);    end; //  close(input);close(output); end.

【写的有漏洞的,欢迎路过大神吐槽】

  2017/08/03 18:04:28

  Ending. 

原创粉丝点击