五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

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

分享到微博請遵守國家法律
合肥市| 齐齐哈尔市| 甘泉县| 永靖县| 乌拉特后旗| 泰和县| 类乌齐县| 深水埗区| 吴旗县| 长葛市| 应城市| 改则县| 儋州市| 花莲县| 南开区| 阜阳市| 堆龙德庆县| 色达县| 阳江市| 丁青县| 台安县| 分宜县| 灌南县| 景德镇市| 绍兴市| 遂昌县| 托里县| 瑞丽市| 桂林市| 双牌县| 南宁市| 北流市| 龙州县| 广宁县| 湘潭市| 信阳市| 孟州市| 太仓市| 罗源县| 拉孜县| 闵行区|