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