#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
int main(){
int k,n1,m1,n2,m2,cnt=0;
scanf("%d/%d %d/%d %d",&n1,&m1,&n2,&m2,&k);
double s,s1,s2;
s1=n1*1.0/m1;
s2=n2*1.0/m2;
if(s1>s2) swap(s1,s2);
int begin=floor(s1)*k;
int end=ceil(s2)*k;
for(int i=begin;i<=end;i++){
s=i*1.0/k;
//两个正分数之间不包括这两个边界值,不取等于
if(s>s1 && s<s2 && gcd(i,k)==1){
if(cnt!=0) cout<<" ";
cnt++;
cout<<i<<"/"<<k;
}
}
return 0;
}
测试点2:注意边界,两个正分数之间不包括这两个边界值,不取等于
测试点1:给定两个不相等的正分数 N1/M1和 N2/M2,不要先入为主,以为第一个的值比第二个大
最大公约数的函数(若返回1,则a与b之间没有非1的公约数)
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}