zoukankan      html  css  js  c++  java
  • hdu 1717 小数转换为分数

    (1)纯循环小数(仅指整数部分为0的)化成分数时,分数的分母由9组成,9的个数等于一个循环节的位数,分子是由一个循环节的各位数字组成。
    如:0,234234234....=234/999
    0.111111=1/9

    (2)非纯循环小数化成分数时,分母由9和0组成,其中9的个数等于一个循环节的位数,0的个数等于非循环部分的位数。分子是从小数点后的第一位到第一个循环节的末位组成的数减去非循环部分。
    如:0,76345345345。。。。=(76345-76)/99900
        0.0243434343.........=(243-2)/9900
      0.811111。。。。=(81-8)/90=73/90

    #include<iostream>
    #include<string>
    using namespace std;
    char s[20];
    int hcf(int a,int b)
    {
        int r=0;
        while(b!=0)
            {
            r=a%b;
            a=b;
            b=r;
            }
        return(a);
    } 
    int main()
    {
    	int n,a,b;
    	scanf("%d",&n);
    	while(n--)
    	{
    		int len;
    		scanf("%s",s);
    		len=strlen(s);
    		a=b=0;
    		int count=1,c=0;
    		int i=2;
    				while(i<len&&s[i]!='(')
    				{
    					a=a*10+(s[i]-'0');
    					i++;
    					count=count*10;
    				}
    				i++;
    				b=a;
    				while(i<len&&s[i]!=')')
    				{
    					b=b*10+(s[i]-'0');
    					c=c*10+9;
    					i++;
    				}	
    			if(a==b) {
    				int f=hcf(a,count);
    					printf("%d/%d\n",a/f,count/f);
    			}
    			else {
    				int f=hcf(b-a,c*count);
    				printf("%d/%d\n",(b-a)/f,c*count/f);
    			}
    	}
    	return 0;
    }
    
  • 相关阅读:
    HBase HTablePool
    Hadoop MapReduce InputFormat/OutputFormat
    MapReduce执行过程源码分析(一)——Job任务的提交
    HBase MultiVersionConsistencyControl
    HBase Split
    HBase HFile
    Do not to test a private method.
    HTML5使用ApplicationCache
    Swift使用FMDB操作SQLite
    使用Swift操作NSDate类型基础
  • 原文地址:https://www.cnblogs.com/nanke/p/2167909.html
Copyright © 2011-2022 走看看