xtu 1236 Fraction(小数化分数)

地址:点击打开链接

代码:

#include<cstdio>
using namespace std;

double abss(double x)
{
    return x>0.0?x:-x;
}

int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        double x;
        scanf("%lf",&x);
        if(x==0.0)
        {
            printf("0/1\n");
            continue;
        }
        double z;
        double det=111111;
        int j;
        int k;
        for(int i=1;i<=1000;i++)
        {
            z=x*i;
            int zz=(int)(z+1);
            int zzz=(int)(z);
            if(abss(zz*1.0/i-x)<det)
            {
                det=abss(zz*1.0/i-x);
                j=i;
                k=zz;
            }
            if(abss(zzz*1.0/i-x)<det)
            {
                det=abss(zzz*1.0/i-x);
                j=i;
                k=zzz;
            }
        }
        printf("%d/%d\n",k,j);
    }
    return 0;
}
时间: 2024-08-10 02:10:37

xtu 1236 Fraction(小数化分数)的相关文章

hdu1717 小数化分数2

题目链接: 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): 2921    Accepted Submission(s): 1187 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式

小数化分数2

小数化分数2 题目 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢? 请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数. Input 第一行是一个整数N,表示有多少组数据. 每组数据只有一个纯小数,也就是整数部分为0.小数的位数不超过9位,循环部分用()括起来. Output 对每一个对应的小数化成最简分数后输出,占一行. Sample

HDU1717小数化分数2

小数化分数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 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以

(hdu step 2.1.8)小数化分数2(小数化分数——包括了循环小数化分数的情况)

题目: 小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2783 Accepted Submission(s): 993   Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以

hdu 1717 小数化分数2 (数论)

点我点我点我!!! 接下来要做的就是模拟上述过程了. 静下来想一下自己要得到的信息. 然后拿出来,就可以了,模拟嘛,都是这样的. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; char str[20]; int gcd(int a,int b) { return a%b==0?b:gcd(b,a%b); }

hdu1717 小数化分数

题目链接: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): 5375    Accepted Submission(s): 2188 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他

XTU 1236 Fraction(二分)

Fraction Accepted : 51   Submit : 435 Time Limit : 1000 MS   Memory Limit : 65536 KB  Fraction Problem Description: Everyone has silly periods, especially for RenShengGe. It's a sunny day, no one knows what happened to RenShengGe, RenShengGe says tha

XTU 1236 Fraction

Fraction Accepted : 168   Submit : 1061 Time Limit : 1000 MS   Memory Limit : 65536 KB Fraction Problem Description: Everyone has silly periods, especially for RenShengGe. It's a sunny day, no one knows what happened to RenShengGe, RenShengGe says th

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

Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢? 请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数. Input 第一行是一个整数N,表示有多少组数据. 每组数据只有一个纯小数,也就是整数部分为0.小数的位数不超过9位,循环部分用()括起来. Output 对每一个对应的小数化成最简分数后输出,占一行. Sample Input 3 0.(4) 0.5