小数化分数2

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4278    Accepted Submission(s):
1725

Problem Description
Ray
在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。
 
Input
第一行是一个整数N,表示有多少组数据。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。
 
Output
对每一个对应的小数化成最简分数后输出,占一行。
 
Sample Input
3
0.(4)
0.5
0.32(692307)
 
Sample Output
4/9
1/2
17/52
 
Source
 
Recommend
lcy   |   We have carefully selected several similar
problems for you:  1715 1716 1166 1719 1722 
# include<stdio.h>
int gcd(int a,int b)
{
int temp;
while(a%b!=)
{
temp=a%b;
a=b;
b=temp;
}
return b;
}
int main()
{
int i,ncase,ans,p,q,t,m,n,x,y,k,l;
char ch[];
scanf("%d",&ncase);
while(ncase--)
{
scanf("%s",ch);
x=;
t=;
p=;
q=;
k=;l=;
for(i=;ch[i]!=;i++)
{
if(t== && ch[i]!='(')
{
p++;
x*=;
x+=ch[i]-'';
}
if(t==&& ch[i]!=')')
{
q++;
y*=;
y+=ch[i]-'';
}
if(ch[i]=='(') {t=;y=x;q=p;}
}
if(q==)
{
while(p--)
k*=;
ans=gcd(x,k);
x/=ans;
k/=ans;
printf("%d/%d\n",x,k);
}
else
{
m=y-x;
while(p--)
k*=;
while(q--)
l*=;
n=l-k;
ans=gcd(m,n);
m/=ans;
n/=ans;
printf("%d/%d\n",m,n);
}
}
return ;
}

HDU1717小数化分数2的更多相关文章

  1. ACM学习历程—HDU1717 小数化分数2(gcd)

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

  2. 【HDU】1717 小数化分数2 ——计数原理

    小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. HDU 1717 小数化分数2(最大公约数)

    小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

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

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

  5. CSU 8月月赛 Decimal 小数化分数

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1303 这个OJ很容易跪所以我贴一下题目 Description 任意一个分数都是有理数,对于任意一 ...

  6. 杭电oj1717——小数化分数(java实现)

    question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ...

  7. HDU 1717 小数化分数2 数学题

    解题报告:输入一个小于1的小数,让你把这个数转化成分数,但注意,输入的数据还有无限循环的小数,循环节用一对括号包含起来. 之前还没有写过小数转分数的题,当然如果没有循环小数的话,应该比较简单,但是这题 ...

  8. 小数化分数的O(log2n)解法

    具体约束: 给定一个小数x,x满足0<=x<1,且保证给定的x保留了18位小数 输出一个分数,使得分母不超过1e9,分子分母互质,且在满足这些条件的情况下最接近x 了解一下法雷数列和ste ...

  9. hdu 1905 小数化分数2

    ;}

随机推荐

  1. 安装最新版本的ReSharper导致原生全局搜索工具的消失问题

    经过检测,是由于启用了一个插件导致的,禁用即可,如下图:

  2. DLUTOJ 1331 Maximum Sum

    传送门 Time Limit: 1 Sec  Memory Limit: 128 MB  Description You are given an array of size N and anothe ...

  3. A.2 Main

    程序的执行从类Main的方法main开始.方法main创建了一个词法分析器和一个语法分析器,然后调用语法分析器中的方法program. 1: package main: 2: import java. ...

  4. Looper

    /** * Class used to run a message loop for a thread. Threads by default do * not have a message loop ...

  5. jquery------显示加载的js时出现中文乱码解决方法

    方法: 把my.js文件复制出来,用记事本打开,再另存为的时候设置编码格式为utf-8即可

  6. jquery------提供灵活的方法参数

    index.jsp <h1 >再次重逢的世界</h1> my.js $(document).ready(function(){ (function($){ $.fn.shado ...

  7. WEB开发中的页面跳转方法总结

    PHP header()函数跳转 PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向: $url = & ...

  8. 模拟创建类变量,static变量加类方法,单例

    @interface Model + (int) value; + (void) setValue:(int)val; @end @implementation Model static int va ...

  9. memcached安装和php-memcached扩展安装.update.2014-08-15

    服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 .下载官网:http://www.danga.com另外,Memcache用到了libevent这个库用于 ...

  10. SQL injection

    SQL injection is a code injection technique, used to attack data-driven applications, in which malic ...