n*(m-1)/(m*m)
#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<map> #include<set> #include<queue> #include<stack> #include<iostream> using namespace std; typedef long long LL; const double pi=acos(-1.0),eps=1e-8; void File() { freopen("D:\\in.txt","r",stdin); freopen("D:\\out.txt","w",stdout); } inline int read() { char c = getchar(); while(!isdigit(c)) c = getchar(); int x = 0; while(isdigit(c)) { x = x * 10 + c - ‘0‘; c = getchar(); } return x; } LL n,m; LL gcd(LL a,LL b){ if(b==0)return a; return gcd(b,a%b); } int main() { while(~scanf("%lld%lld",&n,&m)) { if(n==0&&m==0) break; LL x1=n*(m-1),x2=m*m ; LL GCD=gcd(x1,x2); if(x1==0) printf("0/1\n"); else printf("%lld/%lld\n",x1/GCD,x2/GCD); } return 0; }
时间: 2024-10-21 20:14:54