数的长度
时间限制: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">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)];