怎樣化迴圈小數為分數?

時間 2021-05-31 15:19:03

1樓:sun

把迴圈小數寫成分數的方式是很簡單的,原理也比較簡單。

先舉乙個例子。隨機選取乙個迴圈小數,比如 a=2.0<428571> 這樣的迴圈小數,尖括號內為迴圈節,我們可以先把 a 寫成 2+0.

1*b,而 b=0.<428571>。我們很容易根據迴圈節的定義知道 1000000*b=428571+b,於是我們便得到 b=428571/999999=3/7。

從而 a=2+3/70=143/70。

一般性地做法,設十進位制迴圈小數 a 的迴圈節從第 k+1 位開始,長度為 l,迴圈節為 c(乙個整數),那麼 a=[a*10**k]/(10**k) + c/(10**l-1)/(10**k)。式中[x]表示對x向下取整,**表示冪(次方)運算(優於乘法運算)。

比如 a=2.0<428571>,迴圈節從第 2 位開始(k=1),長度為 l=6,迴圈節為 428571,那麼 [a*10**k]=[a*10]=20,c/(10**l-1)=428571/999999=3/7,最終得到 a=20/10+3/7/10=143/70。

除此之外,還有一種連分式的方法,不過在實際計算上可能會有點麻煩。大致思路是,不斷地做這樣的操作,a=m+b,a←1/b,其中 m=[a],而 b 始終是小於 1 且大於等於零的數,當 b 等於零時,終止計算。這樣你得到 a=m0+1/(m1+1/(m2+1/(m3+...

))),其中m0, m1, m2, m3, ... 為得到的 m 的序列。

還是舉 a=2.0<428571> 的例子。第一次,m0=[a]=2,而 b=0.

0<428571>,再將 1/b 的結果賦值給 a,得到 a=23.<3>。第二次,m1=23,而 b=0.

<3>,再將 1/b 的結果賦給 a,得到 a=3。第三次,m2=3,而 b=0,終止。於是 a=2+1/(23+1/3)=143/70。

2樓:高等代數

例:0.1818181818181818181818181.......

解:設0.181818181818181818181818181......=a

則10a=1.81818181818181818181.........

所以9a=10a-a=1(迴圈部分被減去了)所以a=1/9

怎樣快速找到乙個可表為無限迴圈小數的分數的迴圈節位數?

微涼晨光 worldlinec204答案是正確 他的回答的補充和證明 都帶有證明,看懂證明需要先掌握尤拉定理和費馬小定理和一定的同餘知識 它翻譯成一般語言就是 定理2 對於有理數a b,0小於a小於b 這裡可以看作是任意有理數的小數部分,從這裡出發,可以簡單將定理推廣至任意有理數 並且a b已經是最...

無限迴圈小數都能用分數表示嗎?

Alex 是的,使用無窮級數就可以。在酒店用手機回答,不能用電腦寫公式,湊合著看吧 舉個例子很容易懂,比如說1.314731473147 3147 1 3147 1 10000 3147 1 10000 2 3147 1 10000 n 3146 設a 1 10000,則有 3147 1 a a 2...

無限不迴圈小數確實存在?

非數學專業,吃飯的時候突然想到了這個問題 我是這樣想的 如果乙個無限不迴圈小數它是無限的,那麼有沒有可能它其實實際上只是有乙個極其大的迴圈節呢?然後我想到 如果我知道它的迴圈節,應該就能用整數和整數的比把它給表示出來。那麼想象一下,乙個迴圈節為 的 也就是乙個迴圈節內事實上可以表示完0到9個數字組合...