<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人