日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python输出假分数_分数的表示以及计算(c++)

發布時間:2025/3/15 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python输出假分数_分数的表示以及计算(c++) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前一直總是簡單的想將分數化為小數進行計算,其實使用相應的結構進行分子分母的分開保存,可以有奇效;

分數的存儲:

struct Fraction{

int up;

int down;

};

其中up代表分子,down代表分母;

對于分數,有基本的幾個規則:

1.正負號掛在分子上;

2.當分數表示0的時候,分子為0,分母為1;

3.分子分母必須達到最簡,也就是沒有1以外的公約數;

當分數進行四則運算的時候,也是基于這三條的性質來進行化簡;

Fraction reduction(Fraction result){

if(result.down<0){

result.up=-result.up;

result.down=-result.down;

}

if(result.up==0){

result.down=1;

}else{

int d=gcd(abs(result.up),abs(result.down));

result.up/=d;

result.down/=d;

}

return result;

}

其中值得注意的是進行最大公約數計算的時候一定要注意注意分子可能為負,所以要進行絕對值的提前處理;

分數的四則運算:

在上述化簡函數的基礎上,我們就可以根據該規則進行相應的四則運算,四則運算嚴格遵循計算的通分規律;

1.加法運算:

Fraction add(Fraction f1,Fraction f2){

Fraction result;

result.up=f1.up*f2.down+f2.up*f1.down;

result.down=f1.down*f2.down;

return reduction(result);

}

2.減法運算:

Fraction minu(Fraction f1,Fraction f2){

Fraction result;

result.up=f1.up*f2.down-f1.down*f2.up;

result.down=f1.down*f2.down;

return reduction(result);

}

3.乘法運算

Fraction multi(Fraction f1,Fraction f2){

Fraction result;

result.up=f1.up*f2.up;

result.down=f2.down*f2.down;

return reduction(result);

}

4.除法運算:

Fraction divide(Fraction f1,Fraction f2){

Fraction result;

result.up=f1.up*f2.down;

result.down=f2.up*f2.down;

return reduction(result);

}

值得注意的是這里采用的除法的倒數計算;

分數的輸出形式:

對于一個正常形式的分數,往往有三種形式:

1.整數:此時只輸出分子(由于程序代碼里對分子分母進行化簡,所以如果有整數分母一定為1);

2.真分數:此時按照a/b的格式輸出;

3.假分數:此時應該在按照帶分數的格式輸出,并且符號在前;

代碼如下:

void showResult(Fraction r){

r=reduction(r);

if(r.down==1)

printf("%lld",r.up);

else if(abs(r.up)>r.down){

printf("%d %d/%d",r.up/r.down,abs(r.up)%r.down,r.down);

}else{

printf("%d/%d",r.up,r.down);

}

}

值得注意的是當進行帶分數計算的時候,計算其后真分數余數的時候,一定要注意abs絕對值得處理;

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python输出假分数_分数的表示以及计算(c++)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。