1062 最简分数
分析:有一个测试点是最大最小值问题,注意输进去的时候你并不知道哪个大哪个小,所以需要判断。
然后就是可以写一个函数来用于判断是否可以化简。代码如下:
using namespace std;
int judge(int a,int k)
{
for(int i=2;i<=a;i++)
if(!(a%i)&&!(k%i))
return 0;
return 1;
}
int main(){
int n1,m1,n2,m2,k,min,max,i=0;
scanf("%d/%d %d/%d %d",&n1,&m1,&n2,&m2,&k);
max=(int)(k*n2/m2);
min=(int)(k*n1/m1);
if(max<=min) swap(max,min);
min=min+1;
if(max==1.0*k*n2/m2) max=max-1;
for(i=min;i<=max;i++)
if(judge(i,k))
printf("%d/%d%c",i,k,i==max?'\n':' ');
return 0;
}