HDU 1717 小数化分数2(数学)
来源:互联网 发布:伪随机算法有规律 编辑:程序博客网 时间:2024/04/20 13:41
小数化分数2
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Problem Description
Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。
Input
第一行是一个整数N,表示有多少组数据。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。
Output
对每一个对应的小数化成最简分数后输出,占一行。
Sample Input
30.(4)0.50.32(692307)
Sample Output
4/91/217/52
Source
2007省赛集训队练习赛(2)
该题为中文题,而且题目讲得很直白,无非就是让我们将无限循环小数或有限小数转化成分数,故题意不再多讲
至于如何做到小数与分数地转化呢,不妨稍微来学习一下
首先无限循环小数0.333…可以表示成
它的分数形式是1/3,这个想必大家都是清楚的,那是如何转化的呢?
②-①,可得
再举一个例子,说不定你就会有所发现
比如无限循环小数0.131313…,按照上述方式,可以得到
若不再是纯小数的话,我们要怎么办呢
比如说无线循环小数0.2777777…,分为不循环部分0.2与循环部分0.077777…
这样的话我们只需做点处理就可以
具体的可以去看看循环小数化分数的一些数学知识,留下链接以供学习
#pragma comment(linker, "/STACK:1024000000,1024000000")#include<stdio.h>#include<string.h>#include<stdlib.h>#include<queue>#include<math.h>#include<vector>#include<map>#include<set>#include<stdlib.h>#include<cmath>#include<string>#include<algorithm>#include<iostream>#define exp 1e-10using namespace std;const int N = 20;const int inf = 1000000000;const int mod = 1000000007;int gcd(int x,int y){ while(x!=y) if(x>y) x-=y; else y-=x; return x;}char s[N];int main(){ int t,i,a,b,c,d; bool flag; scanf("%d",&t); while(t--) { flag=false;b=a=c=0,d=1; scanf("%s",s); for(i=2;s[i]!='\0';i++) if(s[i]=='(') flag=true; else if(flag&&s[i]!=')') { a=a*10+s[i]-'0'; b=b*10+9; } else if(!flag) { c=c*10+s[i]-'0'; d*=10; } if(!a) { i=gcd(c,d); printf("%d/%d\n",c/i,d/i); } else { c=a+c*b; d=d*b; i=gcd(c,d); printf("%d/%d\n",c/i,d/i); } } return 0;}菜鸟成长记
0 0
- hdu 1717 小数化分数2(数学)
- HDU 1717 小数化分数2(数学)
- HDU 1717 小数化分数2【数学】
- hdu 1717 小数化分数2 (数学)
- HDU 1717 小数化分数2(数学基本知识)
- hdu 1717 小数化分数2
- hdu 1717 --小数化分数2
- hdu 1717小数化分数2
- hdu 1717小数化分数2
- HDU 1717 - 小数化分数2
- HDU 1717 小数化分数2
- hdu 1717 小数化分数2
- hdu 1717 --小数化分数2
- HDU 1717 小数化分数2
- hdu 1717 小数化分数2
- hdu 1717 小数化分数2
- Hdu 1717 小数化分数2
- HDU 1717 小数化分数2
- 动态计算cell高度(1)
- OpenGL ES 2.0 系列一
- grep命令常用的15招
- iOS系统框架层数
- 关于Bean的知识private static final long serialVersionUID = 1L
- HDU 1717 小数化分数2(数学)
- android studio进行第三方开源项目的导入,当作library
- c++ primer plus 第八章《编程题8.8.5》
- (转载)KL距离
- 小P的故事——神奇的换零钱
- 支付宝接口回调增加自定义参数
- java并发编程-Executor框架
- Mysql在PHP以及在ThinkPHP中的应用--适合菜鸟初学者
- android休眠之后 定时任务TimerTask不生效