欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語言

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

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

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

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

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

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

  *問題分析與算法設計

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

  *程序說明與注釋

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

  #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