国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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編程算法【三十】將真分數分解為埃及分數的評論 (共 條)

分享到微博請遵守國家法律
花莲县| 龙江县| 渑池县| 霞浦县| 海盐县| 朝阳县| 潜江市| 子长县| 孝感市| 临湘市| 龙海市| 翁源县| 深水埗区| 合作市| 康平县| 吴江市| 太仓市| 桂林市| 读书| 荔浦县| 泰和县| 青州市| 新安县| 邵阳市| 洪湖市| 青田县| 抚州市| 汉中市| 连城县| 海门市| 阜阳市| 苏尼特右旗| 进贤县| 东乌| 汕尾市| 革吉县| 石嘴山市| 恩施市| 布尔津县| 延吉市| 大丰市|