精华内容
下载资源
问答
  • 循环小数化分数计算器
    2021-06-24 05:39:07

    一、纯循环小数化分数

    从小数点后面第一位就循环的小数叫做纯循环小数。怎样把它化为分数呢?看下面例题。

    把纯循环小数化分数:

    纯循环小数的小数部分可以化成分数,这个分数的分子是一个循环节表示的数,分母各位上的数都是9。9的个数与循环节的位数相同。能约分的要约分。

    二、混循环小数化分数

    不是从小数点后第一位就循环的小数叫混循环小数。怎样把混循环小数化为分数呢? 把混循环小数化分数。

    (2)先看小数部分0.353

    一个混循环小数的小数部分可以化成分数,这个分数的分子是第二个循环节以前的小数部分组成的数与小数部分中不循环部分组成的数的差。分母的头几位数是9,末几位是0。9的个数与循环节中的位数相同,0的个数与不循环部分的位数相同。

    三、循环小数的四则运算

    循环小数化成分数后,循环小数的四则运算就可以按分数四则运算法则进行。从这种意义上来讲,循环小数的四则运算和有限小数四则运算一样,也是分数的四则运算。

    有限小数化成分数直接将小数点去掉,分母对应化成十百千万等。再约分。

    例如:0.333.....=3/9=1/3

    0.214214214214214....=214/999

    简单说每一个循环节为分子,循环节有几位数分母就写几个9

    0.3333......循环节为3 0.214.....循环节为214

    0.52525252....循环节为52,所以0.525252...=52/99

    0.35....=35/99

    更多相关内容
  • 输入两个数字m,n,输出m/n的结果,并找出循环节 0,n<=10000
  • 给定两个数a、b,找出a/b的循环节,并按照指定格式输出。比如a=1、b=3,则输出0.(3),即用括号包含循环节。 解法: USCAO 2.4.5中的题 Fractions to Decimals有一个tricky的解法,用分母中2的因子个数减去分子中...

    问题:

    给定两个数a、b,找出a/b的循环节,并按照指定格式输出。比如a=1、b=3,则输出0.(3),即用括号包含循环节。

     

    解法:

    USCAO 2.4.5中的题 Fractions to Decimals
    有一个tricky的解法,用分母中2的因子个数减去分子中2的因子个数,同样用分母中5的因子个数减去分子中5的因子个数,去两者这两者个数的最大值,这个就是分数的非循环部分的长度,这样偏移后,后面就是循­环部分,直到重复。

    算法如下:


    #include 
    < iostream >

    using   namespace  std; 
    typedef 
    long   long  int64; 

    int  colcount = 0 ;

    int  numBeforeRepeat( int  n, int  d)
    ExpandedBlockStart.gifContractedBlock.gif
    {
        
    int c2=0,c5=0;
        
    if(n==0return 1;
    ExpandedSubBlockStart.gifContractedSubBlock.gif    
    while(d%2==0){d/=2;c2++;}//dominator 中2的个数
    ExpandedSubBlockStart.gifContractedSubBlock.gif
        while(d%5==0){d/=5;c5++;}//dominator 中5的个数
    ExpandedSubBlockStart.gifContractedSubBlock.gif
        while(n%2==0){n/=2;c2--;}//can go to negative
    ExpandedSubBlockStart.gifContractedSubBlock.gif
        while(n%5==0){n/=5;c5--;}//can go to negative
    ExpandedSubBlockStart.gifContractedSubBlock.gif
        if(c2>c5) {
            
    if(c2>0return c2;
            
    else return 0;
    ExpandedSubBlockStart.gifContractedSubBlock.gif    }
     else {
            
    if(c5>0return c5;
            
    else return 0;
        }

    }


    void  print( char  c)
    ExpandedBlockStart.gifContractedBlock.gif
    {
    ExpandedSubBlockStart.gifContractedSubBlock.gif    
    if(colcount==76{
            cout
    <<endl;
            colcount
    =0;
        }

        cout
    <<c;
        colcount
    ++;
    }


    void  print( int  n)
    ExpandedBlockStart.gifContractedBlock.gif
    {
        
    if(n>=10) print(n/10);
        print((
    char)('0'+(n%10)));
    }
     

    int  main()
    ExpandedBlockStart.gifContractedBlock.gif
    {
        
    int n,d;
        cin
    >>n>>d;
        print(n
    /d);
        print(
    '.');
        n
    =n%d;
        
    int m=numBeforeRepeat(n,d);
    ExpandedSubBlockStart.gifContractedSubBlock.gif    
    for(int i=0;i<m;i++{
            n
    *=10;
            print(n
    /d);
            n
    %=d;
        }

        
    int r=n;
    ExpandedSubBlockStart.gifContractedSubBlock.gif    
    if(r!=0{
            print(
    '(');
    ExpandedSubBlockStart.gifContractedSubBlock.gif        
    do {
                n
    *=10;
                print(n
    /d);
                n
    %=d;
            }
     while(n!=r);
            print(
    ')');
        }

        cout
    <<endl;
        
    return 0;
    }

     

     

    转载于:https://www.cnblogs.com/clive/archive/2009/10/28/Circular_decimal_fraction_USCAO_2_4_5.html

    展开全文
  • 循环小数化分数口诀

    千次阅读 2021-01-14 02:57:29
    循环小数化分数口诀2019-11-25 14:23:32文/颜雨循环小数化分数口诀:将纯循环小数改写成分数,分子是一个循环节的数字组成的数;分母各位数字都是9,9的个数与循环节中的数字的个数相同。纯循环小数化为分数:将纯...

    循环小数化分数口诀2019-11-25 14:23:32文/颜雨

    循环小数化分数口诀:将纯循环小数改写成分数,分子是一个循环节的数字组成的数;分母各位数字都是9,9的个数与循环节中的数字的个数相同。

    纯循环小数化为分数:将纯循环小数改写成分数,分子是一个循环节的数字组成的数;分母各位数字都是9,9的个数与循环节中的数字的个数相同。例如:0.111...=1/9、0.12341234...=1234/9999

    混循环小数化为分数:将混循环小数改写成分数,分子是不循环部分与第一个循环节连成的数字组成的数,减去不循环部分数字组成的数之差;分母的头几位数字是9,末几位数字是0,9的个数跟循环节的数位相同,0的个数跟不循环部分的数位相同。例如:0.1234234234…=(1234-1)/9990

    0.55889888988898...=(558898-55)/999900。

    两个整数相除,如果得不到整数商,会有两种情况:一种,得到有限小数;另一种,得到无限小数。从小数点后某一位开始依次不断地重复出现前一个或一节数字的十进制无限小数,叫做循环小数,其中依次循环不断重复出现的数字叫循环节。

    展开全文
  • 对于一个分数(不一定是最简形式),给出它的小树形式,如果小数有循环节的话,把循环节放在一对圆括号中. 例如,1/4 =0.25,1/3=0.3333写成0.(3),1/7= 0.142857142857...写成0.(142857)。如果结果是一种整数xxx,...

     分数化小数

    对于一个分数(不一定是最简形式),给出它的小树形式,如果小数有循环节的话,把循环节放在一对圆括号中.

    例如,1/4 =0.25,1/3=0.3333写成0.(3),1/7= 0.142857142857...写成0.(142857)。如果结果是一种整数xxx,则用xxx.0 等表示整数xxx。

    输入包括一行,包括被空格分隔开的分子N和分母D(第一个是N,第二个是D)。

    输出包括一行,为转换后的小数形式。

    样例输入

    45 56

    样例输出

    0.803(571428)

    分析

    模拟除法的计算过程

    整数部分:a/b

    小数部分:

    ①mod = a%b;

    ②小数 = (mod*10) / b;

    ③mod = (mod*10)%b;

    循环②③步,当出现重复的余数的时候,也就是循环节出现了

    其实这道题的标签是“数论”,推荐队友的博客

    分数化小数 计蒜客(无限循环小数 循环节 欧拉函数 欧拉定理 十进制)

    C++

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a,b;
        scanf("%d%d",&a,&b);
        if(a%b==0)
        {
            printf("%d.0\n",a/b);
            return 0;
        }
        map<int,int> m;//标记余数
        vector<int>rem;//余数
        rem.clear();
        vector<int> v;//商数
        v.clear();
        int pos=-1;
        while(true){
            v.push_back(a/b);
            int x=a%b;//余数
            if(x==0)  break;
            if(m[x]) {//map缺省情况下为0
                pos=find(rem.begin(),rem.end(),x)-rem.begin();
                break;
            }
            rem.push_back(x);
            m[x]=1;
            a=x*10;
        }
        printf("%d.",v[0]);
        for(int i=1;i<v.size();i++){
            if(i==pos+1)
                printf("(");
            printf("%d",v[i]);
        }
        if(pos>=0)    printf(")");
        return 0;
    }
    

    Java

    import java.util.List;
    
    import java.util.ArrayList;
    
    import java.util.Scanner;
    
    import java.util.Map;
    
    import java.util.HashMap;
    public class Main {
    	static void f(int a,int b) {
    		ArrayList<Integer> rem=new ArrayList<Integer>();//余数
    		ArrayList<Integer> v=new ArrayList<Integer>();//商数
    		HashMap<Integer,Integer> m=new HashMap<Integer,Integer>();//标记余数
    		
    		int pos=-1;
    		while(true) {
    			v.add(a/b);//商数
    			int x=a%b;//余数
    			if(x==0)	break;
    			if(m.containsKey(x)) {//判断余数是否存在
    				pos=rem.indexOf(x);//查找重复余数所在的位置
    				break;
    			}
    			m.put(x,1);//标记
    			rem.add(x);//将余数添加到动态数组中
    			a=x*10;
    		}
    		System.out.print(v.get(0)+".");
    		for(int i=1;i<v.size();i++) {
    			if(pos+1==i)
    				System.out.print("(");
    			System.out.print(v.get(i));
    		}
    		if(pos>=0)
    			System.out.println(")");
    	}
        public static void main(String[] args) {
    		Scanner cin=new Scanner(System.in);
    		int a=cin.nextInt();
    		int b=cin.nextInt();
    		if(a%b==0) {
    			System.out.println(a/b+".0");
    		}else {
    			f(a,b);
    		}
    		cin.close();
    	}
    }  

     

    展开全文
  • 无限循环小数,如0._1,3.5_142851,其中“_”后的数字表示循环节。 小数部分(不含下划线)的位数不超过8位。 【输出形式】 将结果写到标准输出,占一行。形式为:x/y。x、y为整数,分别表示分子与分母。 ...
  • 循环小数化分数

    千次阅读 2018-06-10 11:53:31
    1表示小数点后1位到小数结束为循环节   #include&lt;bits/stdc++.h&gt; using namespace std; typedef long long ll; ll Pow(ll a, ll b){ ll s = 1; while (b &gt; 0) { if...
  • 1930循环小数化分数

    2019-10-22 13:28:26
    一,纯循环小数化分数循环节的数字除以循环节的位数个9组成的整数。例如: 0.3333……=3/9=1/3; 0.285714285714……=285714/999999=2/7. 二,混循环小数:(例如:0.24333333……)不循环部分和循环节构成的的数...
  • 共回答了12个问题采纳率:91.7%#include#includeint main(void){int a, b, t;int used[10000];//b < 10000memset(used, 0, sizeof(used));printf("输入分子,分母:...//求可以得到小数的部分//能循环就是出现余数...
  • 无限循环小数可以化成分数。小e69da5e887aa3231313335323631343130323136353331333365666265数分为两大类:一类是有限小数,一类是无限小数.而无限小数又分为两类:无限循环小数和无限不循环小数;有限小数都可以表示...
  • 题目链接:USACO - Fractions to Decimals之前做过小数化分数的题: 这次是分数 a/ba/b 化小数。 首先我们可以处理出整数部分 a/ba/b 。 考虑到小学算除法的方法“长除法”。我们可以发现,当算到某一步时,这个...
  • 小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4043 Accepted Submission(s): 1649 Problem Description Ray 在数学课上听老师说,任
  • 传送门:POJ2429 题意:给出一个无限不循环小数...具体实现过程就是循环节有多长就在分母上添几个9,非循环小数部分多长就在分母最后添几个0,分子按上面公式计算一下就行。 代码: #include #include #include #includ
  • C语言将循环小数/有限小数转换为分数

    千次阅读 多人点赞 2018-12-24 01:18:19
    早在小学的时候我就对循环小数非常感兴趣,加上初中和高中对循环小数可以说有一定基础研究,因此想到写一个将循环下小数转换为分数的程序,非常有意思,并且对初学者来说,它的输入输出格式的转换也是一大难点。...
  • 小数化分数

    2021-01-08 15:01:33
    【问题描述】 任何小数都能表示成分数的形式,对于給定的小数,编写程序其化为最简分数输出,小数包括简单小数和循环小数。 【输入形式】 第一行是一个整数N,表示有多少组数据。...用9和0做分母,首先有一个循环节
  • 八、求循环节

    千次阅读 2020-07-23 15:21:44
    如果采用链表存储各位小数,对于循环节采用循环链表表示,则所有分数均可以表示为如下链表形式。 输入: N M 输出: 整个循环节 要求: 编写一个尽可能高效的查找循环节起始点的函数: NODE * find( NODE * head, ...
  • POJ -1930 Dead Fraction(GCD+循环小数化分数) 题意: 给你一个循环小数,小数后有一部分省略,求小数转换为分数后的分母最小的分数。 题解: 1.首先枚举循环节长的a(0 &lt; a &lt;= len-5) ,len =...
  • 代码: #include #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; typedef long long ll; int main() { string s;... } ///0.142857 6 /// 从最右边开始数 循环节的长度为6
  • 比如0.33333…,3是循环节分数便是9分之3;0.654654…,654是循环节,结果就是999分之654,以此类推。 混循环 先来看几个例子 例:把混循环小数0.228˙化为分数: 解:0.228˙ =[(228/1000)+8/9000)] =...
  • 题目链接 HDU 1717 小数化分数2. 题目: 分析: 其实就是对循环小数进行处理 我将括号作为分界线,如图示: 然后分三种情况: 没有循环小数 == 只有左值== 循环小数直接在小数点后边 == 只有右值== 循环小数与...
  • 为了计算循环小数的循环节,用一个hash表来存下余数的位置是最好的办法。 因为这样,只要遇到余数相同的结果,说明了一个循环节的结束。 如果是有限小数,当取模结果为0时会自动跳出循环。 如果是循环小数,我们...
  • 循环小数化分数(hdu-1717)

    千次阅读 2015-10-04 11:18:19
    Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数成分数呢? 请你写一个程序不但可以将普通小数化成最简分数,也可以把循环...
  • 小数化分数2 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢? 请你写一个程序不但可以将...
  • 对于一个分数(不一定是最简形式),给出它的小树形式,如果小数有循环节的话,把循环节放在一对圆括号中. 例如,1/4 =0.25,1/3=0.3333写成0.(3),1/7= 0.142857142857...写成0.(142857)。如果结果是一种整数xxx,则...
  • 第1篇:分数和小数互教学设计分数和小数的互教学设计农村实验小学占红霞教学目标:知识目标:使学生理解分数化成小数的方法,能根据分数与除法的关系把分数化成小数。能力目标:在学生对能化成有限小数的最简...
  • 循环小数分为混循环小数、纯...无限循环小数,先找其循环节(即循环的那几位数字),然后将其展开为一等比数列、求出前n项和、取极限、化简。 例如:0.333333…… 循环节为3 则0.33333.....=3*10^(-1)+3*10^(-2)+...
  • 第1篇:《分数和小数的互》的教案课时课题小数化成分数,把分母是10、100、100......的分数化成小数课时1教学目标掌握把小数成份数把分母是10,100,1000,......的份数化成小数的方法和步骤,并能正确、熟练地...
  • 今天带学生做练习,遇到一个循环小数的问题:题目:0.0909090…的循环节是( )。A.09 B.90 C.090 D.9090不少学生选择B项90,习题答案也给了B项,我思考了下,纠正为A项。这个地方有些别扭,不好解释,也没那么重要,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,982
精华内容 3,192
关键字:

循环节化分数

友情链接: study-manage.rar