这个题的意思就是求  N!<2^bit

两边同时取对数,得到    log(N!)<bit*log(2.0),变换形式得到   log(N!)/ log(2.0)<bit;

log(N!)=log(1*2*3*4*……N)=log(1)+log(2)+log(3)+log(4)+……log(N);

则问题转化为求:     log(1)/ log(2.0)+ log(2)/ log(2.0)+ log(3)/ log(2.0)+…… log(N)/ log(2.0)<bit

从而避免了大数计算,利用对数直接比较,将问题简单化

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int n,i;
 6     __int64 t;
 7     double ans;
 8     while(scanf("%d",&n),n!=0)
 9     {
10         t=(n-1960)/10+2;
11         t=1<<t;
12         i=0;
13         ans=0;
14         while(ans<t)
15         {
16             ans+=log((double)(++i))/log(2.0);
17         }
18         printf("%d\n",i-1);
19     }
20     return 0;
21 }

View Code

转载于:https://www.cnblogs.com/zlyblog/p/3191253.html

hdu1141 Factstone Benchmark(利用对数进行大数比较)相关推荐

  1. hdu 1141 Factstone Benchmark

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1141 题目描述: Factstone Benchmark Time Limit: 10000/500 ...

  2. Factstone Benchmark

    [问题描述] Amtel已经宣布,到2010年,它将发行128位计算机芯片:到2020年,它将发行256位计算机:等等,Amtel坚持每持续十年将其字大小翻一番的战略.(Amtel于2000年发行了6 ...

  3. 【ACM】杭电1141:Factstone Benchmark

    我觉得这道题 值得一写,是因为它用到了取对数的方法来处理数值过大的阶乘问题.这种方法应该熟练掌握. 分析: 问题实际上可以转化成一个不等式: n ! < 2 ^ n 即求使上述不等式成立的最大的 ...

  4. 计算器如何输出log以2为底的对数(利用对数log换底公式)

     1.对数换底公式 2.栗子 求log₂10^9的值? 分析:如果使用计算器,是没有以2为底的对数求解的,只有以10(log)为底和以e(ln)为底的对数.可以是使用换底公式求. log₂10^9 = ...

  5. 2004年高考数学压轴题(利用对数齐次化或主元法解决)

    建议采用齐次化方法解决,如果不能齐次化,再用主元法. 主元法有可能不能直接证明该不等式. 

  6. Factstone Benchmark hoj 数学题

    /*题意是求满足n!<2^bit的最大n.只能题意太特么晦涩了. 然后可以转化一下.1*2*3...*n<2*2*2...*2. 则循环2^bit次.n=(2^bit)/(n-1)!. 每 ...

  7. 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)

    分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...

  8. 两边同时取对数求复合函数_高中数学:对数运算三难点

    对数函数是重要的函数,自然也是高考的知识点,学习对数函数常会遇到一些难点,使解题思维陷入困境,归纳起来主要有三个方面. 难点1 底数不统一 对数的运算性质是建立在底数相同的基础上的,但实际问题中,却经 ...

  9. bzoj1225 [HNOI2001] 求正整数 约数个数定理+对数

    一看到约数个数就可以很快想到约数个数定理 然后就是反推,枚举约数 注意需要高精,但搜索过程高精会T,所以利用对数运算对乘和次方降级 如 2^3*3*5  →    log(2^3*3*5) = 3*l ...

最新文章

  1. 管理的实践-彼得.德鲁克
  2. 【Linux内非root安装】graphviz安装
  3. 网络流 24 题汇总(LOJ 上只有 22 题???)
  4. 『操作系统』 进程的描述与控制 Part3 管程
  5. teamviewer设备数量上限怎么解决_支小蜜刷脸支付设备解决方案,支小蜜刷脸支付设备怎么使用...
  6. android 日历 时间选择,Android--DatePicker和TimePicker(日历选择器与时间选择器)
  7. silverlight html 传参,Silverlight与html、JavaScript三者交互
  8. 在utf8和gb2312中 不同编码情况下,汉字 数字 英文占的字节数?
  9. Javascript链式调用案例
  10. Python压缩文件夹
  11. 拟合程度的评估--判定系数
  12. 自学编程难吗?如何学?
  13. 希尔贝壳荣获“北京市创新型中小企业”称号
  14. 文字在div中水平居中,垂直居中
  15. 【杂】孔明锁6根解法 九连环的拆卸方法及还原
  16. 手机网上订货下单软件|移讯云订货通企业订货管理系统介绍
  17. 面向对像(8day) 正则表达式,日志格式,json模块
  18. 2022年制冷与空调设备运行操作最新解析及制冷与空调设备运行操作作业考试题库
  19. HDU 5976 Detachment
  20. 立创开源 BGA221芯片开发

热门文章

  1. C++持有Object-C对象时容易内存泄露
  2. 浅复制(Shallow Copy)与深复制(Deep Copy)
  3. 电脑怎么结束进程_结束员工电脑进程/活动窗口的软件
  4. linux网络发包性能优化
  5. 患者数据库mysql_关系型数据库之MySQL基础总结_part1
  6. (44)FPGA面试题CMOS和TTL电路区别
  7. ubuntu jdk tomcat mysql_Ubuntu下安装JDK+TOMCAT+MYSQL
  8. python 计算时间_python的时间使用和时间计算
  9. html是一种用于创建网页的标准标记语言,html
  10. C++11 中的内联函数、auto关键字、for循环及空指针