HDU2503(GCD&&LCM)

来源:互联网 发布:final java关键字 编辑:程序博客网 时间:2024/06/06 21:45

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2503


解题思路:

单纯的gcd和lcm,常识。


完整代码:

#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <climits>#include <cassert>#include <complex>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;#pragma comment(linker, "/STACK:102400000,102400000")typedef long long LL;typedef double DB;typedef unsigned uint;typedef unsigned long long uLL;/** Constant List .. **/ //{const int MOD = int(1e9)+7;const int INF = 0x3f3f3f3f;const LL INFF = 0x3f3f3f3f3f3f3f3fLL;const DB EPS = 1e-9;const DB OO = 1e20;const DB PI = acos(-1.0); //M_PI;int gcd(int a , int b){    return b == 0 ? a : gcd(b , a % b);}int lcm(int a , int b){    return a / gcd(a , b) * b;}int main(){    #ifdef DoubleQ    freopen("in.txt","r",stdin);    #endif    std::ios::sync_with_stdio(false);    std::cin.tie(0);    int T;    cin >> T;    while(T--)    {        int a , b , c, d;        cin >> a >> b >> c >> d;        int t =  lcm(b , d);        int t1 = t / b * a + t / d * c;        int k = gcd(t1 , t);        cout << t1 / k << " " << t / k << endl;    }}


0 0
原创粉丝点击