则约分最简公式不需要寻找最大公因数,只需要满足实现等式相等的最小a,b
题目:编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。
代码:
#include<stdio.h>
//求最小a,b;则a<=y,b<=x
int main(){
int x,y;
scanf("%d/%d",&x,&y);
for(int a=1;a<=y;a++){
for(int b=1;b<=x;b++)
if(x*a==y*b){
printf("%d/%d",b,a);
return 0;
}
}
}
结果: