一:杭电原题摘录
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=3
二.题目分析
相遇周期,即是求两个数的最小公倍数.在这里显然是两个分数的最小公倍数.
先将两个分数通过最大公约数化为最简,然后=lcm(两个分子)/gcd(两个分母)
三.我的收获
lcm和gcd的运用.
四.AC代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int gcd( int x, int y )
{
if( y == 0 )
return x;
else
return gcd( y, x % y );
}
int lcm( int x, int y )
{
return x / gcd( x, y ) * y;
}
int main()
{
int T;
scanf( "%d", &T );
while( T-- )
{
int a, b, c, d, rx, ry;
scanf( "%d/%d", &a, &b );
scanf( "%d/%d", &c, &d );
int t = gcd( a, b );
a /= t, b /= t;
t = gcd( c, d );
c /= t, d /= t;
if( gcd( b, d ) == 1 )
{
printf( "%d\n", lcm( a, c ) );
}
else
{
printf( "%d/%d\n", lcm( a, c ), gcd( b, d ) );
}
}
return 0;
}