c语言怎样找无限循环小数的循环体
生活随笔
收集整理的這篇文章主要介紹了
c语言怎样找无限循环小数的循环体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
只對真分數進行討論
1)約分,得到最簡分數形式 a/b
2)判斷分母是否還有2和5之外的其它質因數,若有、則為無限循環小數
3)找到一個形為 9...90..0的數字 c,即連續m個9、n個0的一個數字(m>=1、n>=0)、且這個數字c能夠被分母b整除;且記 m個9為 c2, 則有 c=c2*10^n
4)a/b上下通分為 d/c的形式,然后分兩種情況討論:
5)若n=0,則小數部分全部為循環部分,循環體為 (d)
6)若n>0,則用計算 d被c2整除的結果,作為混循環小說的開始部分;再用 d%c2的結果,作為循環體。1、2步驟比較簡單,就不用例子討論了。
用7/45做例子看一下:3) 找到90能夠被45整除,所以 c2=9, n=1, c=9*10=90
4) 7/45通分為14/90
6) 因n>1:用計算 d被c2整除的結果,作為混循環小說的開始部分:
14/9=1(整數除法),所以 1是小數開始部分再用 d%c2的結果,作為循環體:
14%9=5,所以循環體是5
結果是: 7/45=14/90=0.15555555555555555...=0.1(5)
先寫這么多等我周末用代碼實現后在附加上去
總結
以上是生活随笔為你收集整理的c语言怎样找无限循环小数的循环体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML简单音乐播放器
- 下一篇: matlab 显示图像 去掉边框,Mat