NYOJ-数的长度

2015-07-20 17:45:41 · 作者: · 浏览: 3

数的长度

时间限制:3000 ms | 内存限制:65535 KB 难度:1
描述

N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)??????*2*1.现在你的任务是计算出N!的位数有多少(十进制)?

输入
首行输入n,表示有多少组测试数据(n<10)
随后n行每行输入一组测试数据 N( 0 < N < 1000000 )
输出
对于每个数N,输出N!的(十进制)位数。
样例输入
3
1
3
32000
样例输出
1
1
130271
参考代码:
#include
      
       
#include
       
         int main() { int n,a,i; double sum; scanf("%d",&n); while(n--) { scanf("%d",&a); sum=0; for(i=1;i<=a;++i) sum+=log10(i); printf("%d\n",(int)sum+1); } return 0; }
       
      

<script type="text/java script">
<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];