HDU 1018
来源:互联网 发布:网络流行语大全网站 编辑:程序博客网 时间:2024/06/05 04:05
又是没看明白题意,后来明白是算阶乘的位数。
本来想用char数组做,后来忍不住翻了下网上的解答,原来如此简单,关键是多动脑啊!
题意:求n!的位数~
由于n!最后得到的数是十进制,故对于一个十进制数,求其位数可以对该数取其10的对数,最后再加1~
易知:n!=n*(n-1)*(n-2)*......*3*2*1
∴lg(n!)=lg(n)+lg(n-1)+lg(n-2)+......+lg(3)+lg(2)+lg(1);
#include<stdio.h>#include<math.h>int main(){int loop=0;int num=0; scanf("%d",&loop); while(loop--) { scanf("%d",&num); double sum=0; for(double i=num;i>=1;i--) { //必须用double,否则会出现精度损失 sum+=log10(i); } printf("%d\n",(int)(sum+1)); } return 0; }
0 0
- hdu 1018
- hdu 1018
- HDU 1018
- hdu 1018
- hdu 1018
- hdu-1018
- hdu 1018
- HDU 1018
- HDU 1018
- hdu 1018
- HDU-1018
- HDU-1018
- hdu 1018
- hdu 1018
- hdu 1018
- HDU 1018
- hdu 1018
- hdu 1018
- Android:Layout_weight的深刻理解
- Powerlinux下安装oracle不能出现图形界面问题处理
- [已解决]:调用 LoadLibraryEx 失败,在 ISAPI 筛选器 "c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.
- GRASP模式
- IIC介绍
- HDU 1018
- Linux 进程概念
- 自动加注释(改正)
- ALLJOYN WINDOWS下的一个天坑
- 这个的东西zhen有趣LCS(最长公共子序列)
- Maven和Ant简介以及两者的区别
- 命令行调节linux系统声音
- deep learning的网址
- 将拥有外网IP的计算机设置为远程工作站