SWUST626 分數分解

2022-05-13 11:43:34 字數 914 閱讀 9189

分子為1 的分數稱為埃及分數,現輸入乙個真分數,請將該分數按下面的方法分解為埃及分數: 1.若真分數的分子a能整除分母b,則真分數經過化簡就可以得到埃及分數; 2.若真分數的分子不能整除分母,則可以從原來的分數中分解出乙個分母為b/a+1的埃及分數; 3.用這種方法將剩餘部分反覆分解,最後可得到結果。如:8/11=1/2 + 1/5 + 1/37 + 1/4070。

乙個分數如a/b的形式

見sample output,注意空格位置在加號前後都有

3/88

1/30 + 1/1320

數學家斐波那契提出的一種求解埃及分數的貪心演算法 

設a、b為互質正整數,a < b 分數a/b 可用以下的步驟分解成若干個單位分數之和: 

步驟一: 用b 除以a,得商數q1 及餘數r1。(r1=b - a*q1) 

步驟二:把a/b 記作:a/b=1/(q1+1)+(a-r)/b(q1+1) 

步驟三:重複步驟2,直到分解完畢 

eg . 

3/7=1/3+2/21=1/3+1/11+1/231 

13/23=1/2+3/46=1/2+1/16+1/368

// <0626.cpp> - wed sep 28 15:00:44 2016

// this file is made by yjinpeng,created by xuyike's black technology automatically.

// i don't know what this program is.

#include #include using namespace std;

int main()

printf("1/%d\n",b/a);

}return 0;

}

這道題的變式:codevs 1288 埃及分數

將真分數分解為埃及分數

分子為1 的分數稱為埃及分數,現輸入乙個真分數,請將該分數分解為埃及分數。如 8 11 1 2 1 5 1 55 1 110。問題分析與演算法設計 若真分數的分子a能整除分母b,則真分數經過化簡就可以得到埃及分數,若真分數的分子不能整除分母,則可以從原來的分數中分解出乙個分母為b a 1的埃及分數。...

華為OJ(將真分數分解為埃及分數)

題目 將真分數分解為埃及分數 描述分子為1的分數稱為埃及分數。現輸入乙個真分數 分子比分母小的分數,叫做真分數 請將該分數分解為埃及分數。如 8 11 1 2 1 5 1 55 1 110。介面說明 功能 將分數分解為埃及分數序列 輸入引數 string pcrealfraction 真分數 格式 ...

No 10 分數分配

c 隊一共有7名成員,因此團隊貢獻分一共350分。分配方式應當反映絕大部分組員的真實貢獻情況,即由貢獻決定分數。另外保證一定的獎懲措施,充分調動組員的積極性,鞭策團隊向前邁進。對於團隊貢獻分數的分配方式,我們決定根據兩個標準來確定分數,即任務量與完成度。對於難度係數 1 首先根據分配好的任務模組,先...