最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Python編程算法【三十】將真分數分解為埃及分數

2022-12-13 22:02 作者:SPC編程愛好者  | 我要投稿

【案例內容】

分子為1的分數稱為埃及分數?,F輸入一個真分數(分子比分母小的分數,叫做真分數),請將該分數分解為埃及分數。 如:%5Cfrac%7B8%7D%7B11%7D%20%20%3D%20%5Cfrac%7B1%7D%7B2%7D%20%2B%5Cfrac%7B1%7D%7B5%7D%20%2B%5Cfrac%7B1%7D%7B55%7D%20%2B%5Cfrac%7B1%7D%7B110%7D%20


【解題思路】

假設分子用fz表示,分母用fm表示,將真分數分解成埃及分數,主要解題思路總結如下: 第一種情況:如果fm能整除fz,那么埃及分數就是1/(fm/fz);比如3/6,其埃及分數為1/2 第二種情況:如果fz為3,fm是偶數,那么總能分解出1/fm及1/(fm/2)的埃及分數;比如3/16,可分解出1/16及1/8這兩個埃及分數 其余情況:利用原真分數,求解出一個分母為(fm//fz+1),分子為1的埃及分數,其中"//"代表整除,可避免出現小數。接著將真分數減去該埃及分數后,將求得的差,再次通過上述三種情況進行判斷,直到分子為1時停止循環(huán)。

在分解埃及分數時,可把分解出來的埃及分數存入到列表中,最后用帶"+"的符號把它們循環(huán)輸出即可。

本題可借助Fraction模塊,它可接收兩個整型參數,分別作為分子、分母,如Fraction(8, 11),即可表示8/11;它還能接受字符串型的分數,如Fraction("8/11"),也表示8/11,此外通過.numerator的屬性,可拿到分子;.denominator的屬性,可拿到分母。對于傳入的兩個參數,若能約分,它還會先幫你約分,比如Fraction(8, 12),得到的分數會是2/3,真可謂相當的方便!


【Python代碼】

分解埃及分數代碼
最終的測試結果

注意用循環(huán)反復分解出埃及分數,直到分子為1時停止循環(huán),此時列表里的埃及分數之和,就等于原來的真分數。再次提醒一下Fraction模塊的強大之處,除了能方便的使用分數外,用它來做加減乘除的四則運算,也是完全可以做到的。因此有了Fraction模塊,事半功倍!

Python編程算法【三十】將真分數分解為埃及分數的評論 (共 條)

分享到微博請遵守國家法律
海门市| 科技| 新郑市| 巍山| 佛坪县| 沧州市| 察雅县| 社旗县| 丘北县| 武穴市| 普洱| 白水县| 新郑市| 兰溪市| 舞钢市| 陆丰市| 宣城市| 依兰县| 泸溪县| 珠海市| 揭西县| 莱西市| 龙陵县| 崇左市| 中山市| 阿坝县| 无锡市| 莱芜市| 临湘市| 宁陕县| 响水县| 特克斯县| 车致| 磐安县| 南平市| 塔城市| 买车| 高阳县| 辰溪县| 平顶山市| 沈阳市|