题目描述
Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。

输入
第一行是一个整数N,表示有多少组数据。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。

输出
对每一个对应的小数化成最简分数后输出,占一行。

样例输入 Copy
3
0.(4)
0.5
0.32(692307)

样例输出 Copy
4/9
1/2
17/52

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}
void res(int a,int b)
{int temp=gcd(a,b);if(temp==1){cout<<b<<"/"<<a<<endl;return ;}else{a/=temp;b/=temp;res(a,b);}
}
int main()
{int n;cin>>n;while(n--){cin.ignore();string s;cin>>s;//只留下小数部分s.erase(0,2);//开始判断是循环小数还是有限小数int index1=s.find("(");//有限小数if(index1<0){int len=s.size();//分母int a=pow(10,len);//分子int b=0;for(int i=0;i<len;i++){b=b*10+(s[i]-'0');}res(a,b);}//循环小数else{int x1,x2=0;x1=pow(10,index1);for(int i=0;i<index1;i++)x2=x2*10+s[i]-'0';s.erase(index1,1);int index2=s.find(")");s.erase(index2,1);int y1,y2=0;y1=pow(10,s.size());for(int i=0;i<s.size();i++){y2=y2*10+s[i]-'0';}int a=y1-x1;//分母int b=y2-x2;//分子res(a,b);}}return 0;
}

1297: 小数化分数相关推荐

  1. 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)

    参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...

  2. 小数化分数 (思维)

    Q - 小数化分数2 Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?  请你写一 ...

  3. 分数化成有限小数的方法_分数化小数的方法|小数化分数题目

    [www.520z-2.com - 话题作文] 小数由整数部分.小数部分和小数点组成.当测量物体时往往会得到的不是整数的数,古人就发明了小数来补充整数 小数是十进制分数的一种特殊表现形式.下面是小学生 ...

  4. 小数化分数 思路及代码模板 c++实现

    小数化分数 将一个小数化成一个最简分数的模板,小数包含简单小数和循环小数. 对于循环小数的输入我们将循环体用括号括起来表示. 思路 首先我们将小数部分的数化为分数:对于整数部分我们只需要将化好的分子加 ...

  5. 小数化分数c++(附做法数学证明)

    小数化分数 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 描述 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想 ...

  6. HNU程序设计-小数化分数

    一.问题描述 二.问题分析及思路 小数化分数: 1.对于不循环小数,小数点后有i位,则分子为这i位数,分母为10的i次方,约分得到最简分数(除最大公约数) 2.对于只有循环的小数,分子为循环的部分(i ...

  7. 小数点化分数的过程_小数化分数

    分数和小数的互化 _五__年级__数学____备课组教案 教师 课题 备课时间 分数和小数的互化 课时 课型 新授 课前准备:教材剖析(考点.易错点.关联考点) . 1. 理解并掌握分数和小数互化方法 ...

  8. 小数化分数的口诀表_五年级数学下册分数与小数的互化,常用的小数化成分数表,要熟记...

    分数与小数是两类不同的数字,它们之间可以互相转化.分数与小数,这两类数字又有各自不同的特点,在具体的使用环境中,虽然说这两个数字可以互相通用,但是它们的特性不同,所使用的范围是不一样的,有些情况下使用 ...

  9. c语言小数化分数,小数化分数

    小数化分数 /*小数化分数,非循环*/ #include #include #include double zdgys(double c,double d) {double o,p; o=1;p=1; ...

最新文章

  1. jQuery应用之(一)使用jQuery选择器(荐)
  2. string修饰的梦修改吗_Java String 对象,你真的了解了吗?
  3. 如何将ListT转换相应的Html(xsl动态转换)(二)
  4. 计算机科学与技术指导情况记录表,计算机科学与技术系 教学情况检查表(期初)...
  5. 一种通用整形数组压缩方法
  6. linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?
  7. 再不解决延迟不当,小心你的内存被打爆
  8. leetcode 高薪_利用两种不同的方法解LeetCode第1312题:让字符串成为回文串的最少插入次数
  9. pyqt5 发送键盘信号_Python教程 | Pyqt5实战教程之操作交互处理,原来这么简单!...
  10. PeckShield旗下数字资产反洗钱系统CoinHolmes亮相北京网络安全大会!
  11. 秒懂,Java 注解 (Annotation)你可以这样学
  12. 一、贴片电阻大小的识别与常用的原理图标注规范
  13. python调试神器snoop,让你告别print
  14. 【转】web.xml不同版本的头
  15. 有了这个抠图滤镜,设计师再也不怕扣头发婚纱了!
  16. One PUNCH Man——线性回归算法
  17. Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
  18. java操作es之各种高级查询
  19. java并发编程面试题
  20. 用友T3升级到U8步骤

热门文章

  1. java生成高斯模糊图片
  2. Error in unoecdf(cc, pdiff[case], Wi[case] * PTB.Vi[case]) : NA/NaN/Inf in foreign function call
  3. 在天堂与地狱之间——清华浪子梦断中关村[推荐]
  4. 微软 MSN BEET SDET 面试经过和总结
  5. 分享一套PHP的cms系统,免授权可商用,零元CMS企业官网系统,采用laravel+admin架构的企业建站系统
  6. lumia535 刷Android,附教程:看看你的Lumia手机能不能刷安卓!
  7. QQ群龙王快速获得代码以及方法
  8. 使用Servlet和JSP开发Java应用程序 ---- 查询四六成绩
  9. React中文文档之Forms
  10. Hazelcast源码剖析之Eviction