4.18gym

#include<bits/stdc++.h>
#define eps (1e-8)
using namespace std;
namespace program{
	long long L,n,m;
	inline void work(){
		scanf("%lld%lld%lld",&L,&n,&m);
		if(n>m)
			swap(n,m);
		if(n>L){
			puts("1/1");return;
		}
		if(n==m){
			puts("1/1");return;
		}
		long long lcm=n/__gcd(n,m)*m;//最小公倍数 
		if((long double)n*m/__gcd(n,m)>(long double)L+eps){// long double 
			printf("%lld/%lld",(n-1)/__gcd(n-1,L),L/__gcd(n-1,L));
			return;
		}
		long long num=L/lcm;
		long long res=num*(n-1)+(n-1)+num;//(n-1)表示小于lcm的部分 num表示K为 lcm的整数倍时的部分,num*(n-1)表示每份lcm有(n-1)种方法 
		printf("%lld/%lld",res/__gcd(res,L),L/__gcd(res,L));
	}
}
int main(){
	freopen("gym.in","r",stdin);
	freopen("gym.out","w",stdout);
	program::work();
	return 0;
}

阅读更多
换一批

没有更多推荐了,返回首页