【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

$A*10^B = temp[M]*2^{2^E-1}$
两边取一下对数
得到
$lg_A+B = lg_{temp[M]} + (2^E-1)*lg_2$
这样就不至于算不出来啦。
打个表就好
防止爆精度。
加个long double.

【代码】

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. string s;
  4. long double two[20];
  5. long double temp[20];
  6. long long temp2[70];
  7. long double ans[100][100];
  8. int main(){
  9. #ifdef LOCAL_DEFINE
  10. freopen("F:\\c++source\\rush_in.txt", "r", stdin);
  11. #endif
  12. two[1] = 0.5;
  13. for (int i = 2;i <= 12;i++){
  14. two[i] = two[i-1]*0.5;
  15. }
  16. temp[0] = two[1];
  17. for (int i = 1;i <= 9;i++) temp[i] = temp[i-1] + two[i+1];
  18. temp2[0] = 1;
  19. for (int i = 1;i <= 30;i++) temp2[i] = temp2[i-1] * 2;
  20. for (int i = 0;i <= 9;i++){
  21. double M = temp[i];
  22. for (int j = 1;j <= 30;j++){
  23. ans[i][j] = log10(M) + (temp2[j]-1)*log10(2);
  24. }
  25. }
  26. while (cin >> s){
  27. int len = s.size();
  28. for (int i = 0;i < len;i++) if (s[i]=='e') s[i] = ' ';
  29. long double A;
  30. long long B;
  31. stringstream ss(s);
  32. ss >> A >> B;
  33. if (A==0 && B==0) break;
  34. double temp = log10(A)+B;
  35. bool fi = false;
  36. for (int i = 0;!fi && i <= 9;i++)
  37. for (int j = 1;!fi && j <= 30;j++)
  38. if (fabs(ans[i][j]-temp)<1e-6){
  39. printf("%d %d\n",i,j);
  40. fi = true;
  41. }
  42. }
  43. return 0;
  44. }

【习题 3-12 UVA - 11809】Floating-Point Numbers的更多相关文章

  1. 最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)

    #include "stdio.h" #include "stdlib.h" #define random(x) (rand()%x) void creat_a ...

  2. uva 10712 - Count the Numbers(数位dp)

    题目链接:uva 10712 - Count the Numbers 题目大意:给出n,a.b.问说在a到b之间有多少个n. 解题思路:数位dp.dp[i][j][x][y]表示第i位为j的时候.x是 ...

  3. UVA 10539 - Almost Prime Numbers(数论)

    UVA 10539 - Almost Prime Numbers 题目链接 题意:给定一个区间,求这个区间中的Almost prime number,Almost prime number的定义为:仅 ...

  4. UVA 11809 - Floating-Point Numbers

    数学太渣了,这道题反复参考了大神的博客,算是看懂了吧.博客原文  http://blog.csdn.net/crazysillynerd/article/details/43339157 算是个数学题 ...

  5. 【每日一题】 UVA - 11809 Floating-Point Numbers 阅读题+取对数处理爆double

    https://cn.vjudge.net/problem/UVA-11809 题意:很长orz 题解:算一下输入范围,发现用double是读不进来的,在这里wa了半天,(double 1e300  ...

  6. UVA 11481 - Arrange the Numbers 数学

    Consider this sequence {1, 2, 3, . . . , N}, as a initial sequence of first N natural numbers. You ca ...

  7. 【UVA - 136】Ugly Numbers(set)

    Ugly Numbers Descriptions: Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequ ...

  8. UVA 10539 - Almost Prime Numbers 素数打表

    Almost prime numbers are the non-prime numbers which are divisible by only a single prime number.In ...

  9. comparison of floating point numbers with equality operator. possible loss of precision while rounding values

    double值由外部传入 private void Compare(double value) { string text; ) //小数位后保留2位 { //小数点后保留2位小数 text = st ...

随机推荐

  1. 洛谷——P1155 双栈排序

    题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1 ...

  2. POJ 2323 贪心

    题意: 思路: 贪 贪 贪 如果当前的c>之前的c+s 那么之前的合适 一直贪下去就好了 //By SiriusRen #include <cstdio> #include < ...

  3. java(内部类)

    内部类: 一个类定义在另外一个类的内部就称作为内部类. 内部类的类别: 1.成员内部类: 2.局部内部类: 1.成员内部类: 成员内部类的访问方式: 方式一:在成员内部类的外侧提供一个方法创建内部类的 ...

  4. locate---查找文件

  5. find---查找文件或目录

    ind命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行 ...

  6. 03008_使用JDBC对分类表进行增删改查操作

    1.创建数据库分类表 #创建数据库 create database mybase; #使用数据库 use dmybase; ###创建分类表 create table sort( sid int PR ...

  7. 【习题 8-6 UVA - 1611】 Crane

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 想把数字i从位置j移动到位置i 可以这样. 假设mov(x,y)表示将(x..x+len/2-1)和(x+len/2..y)交换. ...

  8. Spring AOP那些学术概念—通知、增强处理连接点(JoinPoint)切面(Aspect)(转)

    1.我所知道的AOP 初看起来,上来就是一大堆的术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等.一下让你不知所措,心想着:管不得很多人都和我说AOP多难多难.当我看进去以后, ...

  9. Elasticsearch中JAVA API的使用

    1.Elasticsearch中Java API的简介 Elasticsearch 的Java API 提供了非常便捷的方法来索引和查询数据等. 通过添加jar包,不需要编写HTTP层的代码就可以开始 ...

  10. linux 批量设置文件夹755 文件644权限

    linux 批量设置文件夹755 文件644权限 文件来源 http://www.111cn.net/sys/linux/109724.htm 本文章来为各位介绍一篇关于linux 批量设置文件夹75 ...