7 |
您所在的位置:网站首页 › 有理数加有理数为什么是有理数 › 7 |
本题要求编写程序,计算两个有理数的和。 输入格式:输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。 输出格式:在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。 输入样例1: 1/3 1/6 输出样例1: 1/2 输入样例2: 4/3 2/3 输出样例2: 2解析:主要是辗转相除法 求出最大公因数是最关键的一步,再一个就是正常的通分,然后最后结果进行除以最大公因数就会得出最后结果啦 上代码: #include int zuidagongyinshu(int a,int b) { while(a!=b) { if(a>b) { a=a-b; } else { b=b-a; } } return a; } int main() { int a1,a2,b1,b2,a,b; scanf("%d/%d %d/%d",&a1,&b1,&a2,&b2); if(b1==b2) { b=b1; a=a1+a2; } else { b=b1*b2; a=a1*b2+a2*b1; } int q=zuidagongyinshu(a,b); if(a%b==0) { printf("%d",a/b); } else{ printf("%d/%d",a/q,b/q); } return 0; } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |