/*題目描述
孔融沒有兄弟姐妹,到了周末,就找堂兄孔明、堂姐孔茹、堂弟孔偉等7個堂兄妹來到家裡玩。
孔融媽媽買了8個梨給孩子們吃,結果小黃狗桐桐淘氣叼走了一個,大花貓鑫鑫偷偷藏了一個。
孔融搶過剩下的6個梨,媽媽止住他,說他要和大家平分吃。孔融不高興,說8個人怎麼分6個梨?
媽媽說可以用分數解決這個問題。孔融學過分數,說把每個梨切8個相等的塊,每個人拿6塊就行了。
媽媽說不用切那麼多塊,每個梨切4個相等的塊,每個人拿3塊正好。孔融糊塗了。孔明說,我來教你。
於是孔明給孔融講起了分數的化簡。
分數化簡要化簡到最簡形式,比如12/20可以化簡成6/10和3/5,但3/5是最簡形式;100/8可以化簡成 50 /4和 25 /2 ,
而25/2 為最簡形式。為了降低難度,不要求將假分數(如7/2)化簡成帶分數(3 1/2)形式。
*請編寫程序幫助孔融將任意一個分數化簡成最簡形式。
*輸入
輸入數據的第一行表示需要化簡分數的個數,從第二行開始,每行有個兩個整數m,n(1<=m,n<=10000) ,其中m表示分子,n表示分母。
*輸出
對於每一個分數,輸出分數的化簡後的最簡形式。
*樣例輸入
3
8 14
219 111
210 35
*樣例輸出
4/7
73/37
6/1
*/
#include <iostream>
using namespace std;
int g(int x,int y);//求最大公約數
int main()
{
int i,j,a[10],b[10];
cin>>j;
for(i=0;i<j;i++)//輸入分子、分母
{
cin>>a[i];
cin>>b[i];
}
for(i=0;i<j;i++) //輸出分子、分母
{
int t;
t=g(a[i],b[i]);
a[i]=a[i]/t;
b[i]=b[i]/t;
cout<<a[i]<<'/'<<b[i]<<endl;
}
return 0;
}
int g(int x,int y)//求最大公約數
{
int r;
while(y>0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
運行結果:
說話:化簡分數其實就是求兩個數的最大公約數的問題
思考一下我們也可以求多個數的最大公約數。。