有理數的相關問題總結

2021-08-04 23:58:59 字數 1818 閱讀 3485

本題要求編寫程式,計算兩個有理數的和。

輸入格式:

輸入在一行中按照a1/b1 a2/b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。

輸出格式:

在一行中按照a/b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。

輸入樣例1:

1/3 1/6

輸出樣例1:

1/2

輸入樣例2:

4/3 2/3

輸出樣例2:

#include

#include

#include

using

namespace

std;#

int gongyue(int a,int b)

else

}return a;

}int main(void)

else

return

0;}

本題要求編寫程式,計算n個有理數的平均值。

輸入格式:

輸入第一行給出正整數n(\le≤100);第二行中按照a1/b1 a2/b2 …的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數;如果是負數,則負號一定出現在最前面。

輸出格式:

在一行中按照a/b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。

輸入樣例1:

4 1/2 1/6 3/6 -5/10

輸出樣例1:

1/6

輸入樣例2:

2 4/3 2/3

輸出樣例2:

#include

#include

#include

using

namespace

std;

struct fenshu

;int gongyue(int m, int n)

return n;

}int gongbei(struct fenshu *array,int n)

return num;

}int main(void)

int c=gongbei(array,n);

for(int i=0; iarray[i].fenmu)*array[i].fenzi;

}c*=n;

if(sum<0)

int c1=gongyue(sum,c);

if(flag==1)

if(c1==c)

else

return

0;}

最大公約數的求法

1. 相減法

2. 輾轉相除法

3. 窮舉法

最小公倍數等於兩數之積除以最大公約數

int zuidagongyueshu(int a,int b)

else

}returna;

}

int zuidagongyueshu(int m,int n)

return n;

}

思路:

有兩整數a和b:

① i=1

② 若a,b能同時被i整除,則t=i

③ i++

④ 若 i <= a(或b),則再回去執行②

⑤ 若 i > a(或b),則t即為最大公約數,結束

#include

void main () /* 窮舉法求最大公約數 */

有理數均值

本題要求編寫程式,計算n個有理數的平均值。輸入第一行給出正整數n 100 第二行中按照a1 b1 a2 b2 的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數 如果是負數,則負號一定出現在最前面。在一行中按照a b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分...

有理數比較大小及有理數相加

本題要求編寫程式,比較兩個有理數的大小,並且計算兩個有理數的和。輸入格式 在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a1 b1 a2 b2的格式輸出兩個有理數比較大小 在一行中按照a b的格式輸出兩個有理數的和。注意...

5 33 有理數加法

本題要求編寫程式,計算兩個有理數的和。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。輸入樣例1 1 3 1 6 輸...