HDU 1018 Big Number
题意:求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 <iostream>
#include <cstdio>
#include <cmath>
using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
double i,n,sum;
scanf("%lf",&n);
for(i=,sum=;i<=n;i+=)
sum+=log10(i);
printf("%d\n",(int)sum+);
}
return ;
}
//memory:248KB time:406ms
HDU 1018 Big Number的更多相关文章
- HDU 1018 Big Number (数学题)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018 解题报告:输入一个n,求n!有多少位. 首先任意一个数 x 的位数 = (int)log10(x ... 
- hdu 1018:Big Number(水题)
		Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ... 
- hdu 1018 Big Number (数学题)
		Problem Description Inmany applications very large integers numbers are required. Some of theseappli ... 
- hdu 1018 Big Number 数学结论
		Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ... 
- HDU 1018 Big Number【斯特林公式/log10 / N!】
		Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ... 
- HDU 1018 Big Number (log函数求数的位数)
		Problem Description In many applications very large integers numbers are required. Some of these app ... 
- HDU 1018 Big Number 数学题解
		Problem Description In many applications very large integers numbers are required. Some of these app ... 
- HDU 1018 Big Number  斯特林公式
		Big Number 题意:算n!的位数. 题解:对于一个数来算位数我们一般都是用while去进行计算,但是n!这个数太大了,我们做不到先算出来在去用while算位数. while(a){ cnt++ ... 
- HDU 1018 Big Number (阶乘位数)
		题意: 给一个数n,返回该数的阶乘结果是一个多少位(十进制位)的整数. 思路: 用对数log来实现. 举个例子 一个三位数n 满足102 <= n < 103: 那么它的位数w 满足 w ... 
随机推荐
- 使用typeid(变量或类型).name()来获取常量或变量的类型---gyy整理
			使用typeid(变量或类型).name()来获取常量或变量的类型 <typeinfo> 该头文件包含运行时类型识别(在执行时确定数据类型)的类 typeid的使用 typeid操作 ... 
- node.js 模块和包
			Node.js 的模块和包机制的实现参照了 CommonJS 的标准,但并未完全遵循.不过两者的区别并不大,一般来说你大可不必担心,只有当你试图制作一个除了支持 Node.js之外还要支持其他平台的模 ... 
- poj 1836 Alignment(dp)
			题目:http://poj.org/problem?id=1836 题意:最长上升子序列问题, 站队,求踢出最少的人数后,使得队列里的人都能看到 左边的无穷远处 或者 右边的无穷远处. 代码O(n^2 ... 
- sdut 1570 c旅行
			用搜索(bfs,dfs)做了半天,都超时,原来是dp; 参考博客:http://www.cnblogs.com/liuzezhuang/archive/2012/07/29/2613820.html ... 
- 大四实习准备4_java内部类
			2015-4-30 [昨天又可耻地休息了一天,懒劲比较大啊.跟懒劲有直接关系,这几天对幸福的感知也黯淡了,对未来的幸福不是那么渴望了.表现在对亲情和爱情上. 我想生活的本意是积极进取.茁壮生长并时常感 ... 
- javascript在页面head内动态插入style
			纯js实现: var css = 'h1 { background: red; }', head = document.getElementsByTagName('head')[0], style = ... 
- 读取Excel任务列表并显示在Outlook日历上
			前几天,公司发了一个任务安排,时间不固定,但要求准时到,为了给自己加一个提醒,也为了回顾一下以前的技术,特做了一个Demo. 读取Excel就不多说了,代码很简单,但支持老版本Excel和的版本Exc ... 
- shell部分命令缩写
			bin = BINaries /dev = DEVices /etc = ETCetera /lib = LIBrary /proc = PROCesses /sbin = Superuser BIN ... 
- 动态加载dll--不占用文件
			Assembly assembly = Assembly.Load(path); 用上面的方法可以动态的加载到dll,但是用这种方法加载到的dll一直到程序运行结束都是占用的,在此期间不能够对此进行升 ... 
- Path类型的扩展方法 z
			写了一个基于System.IO.Path类型方法的扩展类型,用于快速对文件系统路径进行操作.如下图: 其中有许多方法就是直接调用Path类型的静态方法.比如AppendPath方法内部会直接调用Pat ... 
