poj 百练 2765 八进制小数(精度问题)
2765:八进制小数
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描写叙述
- 八进制小数能够用十进制小数精确的表示。比方,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。全部小数点后位数为n的八进制小数都能够表示成小数点后位数不多于3n的十进制小数。
你的任务是写一个程序,把(0, 1)中的八进制小数转化成十进制小数。 - 输入
- 输入包含若干八进制小数,每一个小数占用一行。每一个小数的形式是0.d1d2d3 ... dk,这里di是八进制数0...7,并且已知0 < k < 15。
- 输出
- 对于每一个输入的八进制小数,输入例如以下形式的一行
0.d1d2d3 ... dk [8] = 0.D1D2D3 ... Dm [10]
这里左边是输入的八进制小数,右边是相等的十进制小数。输出的小数末尾不能有0,也就是说Dm不等于0。 - 例子输入
-
0.75
0.0001
0.01234567 - 例子输出
-
0.75 [8] = 0.953125 [10]
0.0001 [8] = 0.000244140625 [10]
0.01234567 [8] = 0.020408093929290771484375 [10] - 提示
- 假设你使用字符串读取八进制小数,你能够使用例如以下的形式中止输入
char octal[100];
while(cin >> octal) {
...
}这道题应该属于基础题了,刚開始看到这到题的时候,以为是高精度的题,開始都不敢用double来做,后来看到那个那个8进制数的范围才15,所以想到double也应该能够做吧,參考了一下别人的思路,好巧妙啊,直接通过字符串倒序处理,把8进制小数转化为十进制的整数,值得学习啊~
以下是代码。好简短的,主要是要掌握这样的思路,这样的巧妙的写法;
和曾经我们普通的求法不一样;
0.75(8)=5/64+7/8;
#include <cstdio>
#include <cstring>
int main()
{
char s[20];
int len;
double n;
while(scanf("%s",s)!=EOF)
{
n=0;
len=strlen(s);
for(int i=len-1;s[i]!='.';i--)//小数点前面的处理
{
n/=double(8.0);//转化为十进制
n+=double(s[i]-'0');
}
n/=double(8.0);//小数点前那一个还没处理
printf("%s",s);
printf(" [8] = %.45g [10]\n",n);//%g指代浮点数,去掉无意义的零
}
return 0;
}
poj 百练 2765 八进制小数(精度问题)的更多相关文章
- POJ百练—IP地址转换
#include<iostream> #include<cstdio> #include<cstring> using namespace std; ]; void ...
- [poj百练]2754:八皇后 回溯
描述 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8皇后 ...
- 百练8216-分段函数-2016正式A题
百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问 A:分段函数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序 ...
- ACM/ICPC 之 递归(POJ2663-完全覆盖+POJ1057(百练2775)-旧式文件结构图)
POJ2663-完全覆盖 题解见首注释 //简单递推-三个米诺牌(3*2)为一个单位打草稿得出规律 //题意-3*n块方格能被1*2的米诺牌以多少种情况完全覆盖 //Memory 132K Time: ...
- Odoo小数精度及货币精度详解
一.小数精度的设置 一般在设置-数据结构-精度设置中就可以对 小数类型的字段进行精度设置: 对于代码中定义为 digits=dp.get_precision('Product Price') 或 di ...
- 百练6255-单词反转-2016正式B题
百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问 B:单词翻转 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- Poj OpenJudge 百练 1062 昂贵的聘礼
1.Link: http://poj.org/problem?id=1062 http://bailian.openjudge.cn/practice/1062/ 2.Content: 昂贵的聘礼 T ...
- Poj OpenJudge 百练 1860 Currency Exchang
1.Link: http://poj.org/problem?id=1860 http://bailian.openjudge.cn/practice/1860 2.Content: Currency ...
随机推荐
- Uva 1061 The Morning after Halloween
基本思路是BFS: 1. 题目中已经说了,每相连的2X2格子中必有一个‘#’,也就是,每个点周围最多也就三个方向可以走.因此,可以把所有空格都提出来,形成一个图,直接遍历每条边,而不是每次判断4个方向 ...
- poj 1579 Function Run Fun(记忆化搜索+dp)
题目链接:http://poj.org/problem?id=1579 思路分析:题目给出递归公式,使用动态规划的记忆搜索即可解决. 代码如下: #include <stdio.h> #i ...
- Win10玩魔兽争霸不能全屏显示的设置教程
Win10玩魔兽争霸不能全屏显示的设置教程: 1.右击桌面左下角的windows图标,显示图片内容,然后点击运行: 2.点击运行,有个输入框,输入regedit,点击确认: 3.显示win10注册表, ...
- MFC、C++ 、Windows编程高手
cnblogs: DoubleLi 1. DoubleLi 白手起家Win32SDK应用程序 http://www.cnblogs.com/lidabo/p/3450178.html#_Toc309 ...
- MySQL无法使用、导入中文数据乱码
1,新版的MySQL无法使用 装的新版的mysql-installer-community-5.6.14.0.msi,无法使用(无法导入地图数据,卸载重装mysql_5.6.13.msi,无法启动). ...
- 转: AlphaImageLoader简介
Microsoft.AlphaImageLoader是IE滤镜的一种,其主要作用就是对图片进行透明处理.虽然FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,但是就IE5-IE6而言还是 ...
- POJ 2777 线段树基础题
题意: 给你一个长度为N的线段数,一开始每个树的颜色都是1,然后有2个操作. 第一个操作,将区间[a , b ]的颜色换成c. 第二个操作,输出区间[a , b ]不同颜色的总数. 直接线段树搞之.不 ...
- 查看电脑已安装的Jdk的位数
查看自己电脑已安装的Jdk的位数的方法: public class ShowJdkBit { public static void main(String[] args) { String arch ...
- 创建RDD的方式
创建RDD的方法: JavaRDD<String> lines = sc.textFile("hdfs://spark1:9000/spark.txt"); Jav ...
- java--多线程之Runnable
引读: 上一篇博文中讲了Thread的继承,存在一个问题就是,如果类本身已经继承了某个父类,又要继承Thread,导致多重继承. [但是我们知道接口是实现多重继承的重要方式].java提供了Runna ...