<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            將C語言真分數分解為埃及分數的方法

            時間:2025-03-18 14:10:43 C語言 我要投稿
            • 相關推薦

            將C語言真分數分解為埃及分數的方法

              C語言的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。以下是小編為大家搜索整理的將C語言真分數分解為埃及分數的方法,希望能給大家帶來幫助,更多精彩內容請及時關注我們應屆畢業生考試網!

              分子為1 的分數稱為埃及分數,現輸入一個真分數,請將該分數分解為埃及分數。

              如:8/11=1/2+1/5+1/55+1/110。

              *問題分析與算法設計

              若真分數的分子a能整除分母b,則真分數經過化簡就可以得到埃及分數,若真分數的分子不能整除分母,則可以從原來的分數中分解出一個分母為b/a+1的埃及分數。用這種方法將剩余部分反復分解,最后可得到結果。

              *程序說明與注釋

              /*注:對源程序作稍許修改,主要是添加了一個外循環,可以直接計算多個真分數的埃及分數,按Ctrl-C退出。具體的算法我沒有認真看,有問題請提出,謝謝*/

              #include

              int main(void)

              {

              long int a,b,c;

              while(true)

              {

              printf("Please enter a optional fraction(a/b):");

              scanf("%ld/%ld",&a,&b); /*輸入分子a和分母b*/

              printf("It can be decomposed to:");

              while(true)

              {

              if(b%a) /*若分子不能整除分母*/

              c=b/a+1; /*則分解出一個分母為b/a+1的埃及分數*/

              else{ c=b/a; a=1;} /*否則,輸出化簡后的真分數(埃及分數)*/

              if(a==1)

              {

              printf("1/%ld\n",c);

              break; /*a為1標志結束*/

              }

              else

              printf("1/%ld + ",c);

              a=a*c-b; /*求出余數的分子*/

              b=b*c; /*求出余數的分母*/

              if(a==3) /*若余數為3,輸出最后兩個埃及分數*/

              { printf("1/%ld + 1/%ld\n",b/2,b); break;}

              }

              }

              return 0;

              }

              *運行結果

              Please enter a optional fraction (a/b): 1/6

              It can be decomposed to: 1/6

              Please enter a optional fraction (a/b): 20/33

              It can be decomposed to: 1/2+1/10+1/165

              Please enter a optional fraction (a/b): 10/89

              It can be decomposed to: 1/9+1/801

              Please enter a optional fraction (a/b): 19/99

              It can be decomposed to: 1/6+1/40+1/3960

              Please enter a optional fraction (a/b): 8/87

              It can be decomposed to: 1/11+1/957

              ……(按ctrl-c退出)

            【將C語言真分數分解為埃及分數的方法】相關文章:

            學習C語言的方法05-23

            真分數與假分數教學設計07-03

            C語言的冒泡排序方法04-06

            C語言的reduce方法應用05-29

            C語言socket編程的方法04-29

            C語言文件操作的方法03-29

            C語言類型轉換的方法08-05

            C語言輸出菱形的方法07-31

            C語言數組方法08-06

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院