链接:http://acm.hdu.edu.cn/showproblem.php?pid=1717 题目: 小数化分数2 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2920Accepted Submission(s): 1186 Problem Description Ray 在数学课
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1717
题目:
Problem Description
Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?
请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。
Input
第一行是一个整数N,表示有多少组数据。
每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。
Output
对每一个对应的小数化成最简分数后输出,占一行。
Sample Input
<p>3 0.(4) 0.5 0.32(692307)</p>
Sample Output
<p>4/9 1/2 17/52</p>
Source
题意:将一个小数化成分数形式。
解题思路:
专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬
0
小数(除了无限不循环小数外)都可以化成分数。1.将有限小数化成分数,方法如下:0.25 * 100 = 25;0.25 = 25 / 100(约分即可得到0.25的小数表示);2.将循环小数化成分数,方法如下:0.32(692307) * 100 = 32.692307①;0.32(692307) * 10 ^ 8 = 32692307.(692307)②; ② - ①得:0.32(692307)* (10 ^ 8 - 100) = 32692275; 0.32(692307) = 32692275 / (10 ^ 8 - 100)(约分即可得到0.32(692307)的小数形式)。
代码:
#include <cstdio>
#include <cstring>
int gcd(int m, int n)
{
int r;
while(n)
{
r = m % n;
m = n;
n = r;
}
return m;
}
int main()
{
int t;
scanf("%d", &t);
getchar();
while(t--)
{
char s[20];
scanf("%s", s);
int len = strlen(s), index = 0;
for(int i = 0; i < len; i++)
{
if('(' == s[i])
index = i;
}
if(index)
{
int a = index - 2, c = 0, f, m = 1, n = 1;
int b = len - index - 2 + a;
for(int i = 2; i < len - 1; i++)
{
if(i == index)
{
f = c;
continue;
}
c = 10 * c + s[i] - '0';
}
c = c - f;
while(a--) m *= 10;
while(b--) n *= 10;
int d = n - m, e = gcd(d, c);
printf("%d/%d\n", c/e, d/e);
}
else
{
int a = 0, b = 1, m = len - 2;
for(int i = 2; i < len; i++)
a = 10 * a + s[i] - '0';
while(m--) b *= 10;
int c = gcd(a, b);
printf("%d/%d\n", a/c, b/c);
}
}
return 0;
}
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号