zoukankan      html  css  js  c++  java
  • 强迫症

    All Kill

    Description

    人行道铺着两行地砖,第一行每块的长度是 (A/B) ,第二行每块的长度是 (X/Y) 。两行砖块第一块的一边是对齐的。
    作为一个强迫症患者,看到这样的地砖你很不爽,于是就想知道,最少隔多少距离后两行地砖的缝隙又会对齐。

    Solution

    整数的话都会吧,分数手算也会吧。
    那合起来就好了。注意用long long

    #include<bits/stdc++.h>
    using namespace std;
    
    #define ll long long
    
    inline int read() {
        int x = 0, flag = 1; char ch = getchar(); while (!isdigit(ch)) { if (!(ch ^ '-')) flag = -1; ch = getchar(); }
        while (isdigit(ch)) x = (x << 1) + (x << 3) + ch - '0', ch = getchar(); return x * flag;
    }
    
    inline void write(ll x) {
        if (!x) { putchar('0'); return; } if (x < 0) putchar('-'), x = -x;
        char buf[20] = ""; int top = 0; while (x) buf[++top] = x % 10 + '0', x /= 10; while (top) putchar(buf[top--]);
    }
    
    ll gcd(ll a, ll b) { return !b ? a : gcd(b, a % b); }
    ll lcm(ll a, ll b) { return a * b / gcd(a, b); }
    int main() {
        int T = read(); while(T--) {
            ll a = read(), b = read(), x = read(), y = read();
        	ll c = lcm(b, y), d = a * c / b, e = x * c / y, f = lcm(d, e), t = gcd(f, c);
        	if (!(c ^ t)) write(f / t), puts("");
        	else write(f / t), putchar('/'), write(c / t), puts("");
        }
        return 0;
    }
    
  • 相关阅读:
    第72天: PySpider框架的使用
    第71天: Python Scrapy 项目实战
    Web前端资源汇总
    1201即将到来
    C#自定义事件模拟风吹草摇摆
    HTML5 Canvas爱心时钟代码
    CSS3圆环动态弹出菜单
    CSS3实现Loading动画特效
    HTML5优势
    CSS3扁平化Loading动画特效
  • 原文地址:https://www.cnblogs.com/aziint/p/8416354.html
Copyright © 2011-2022 走看看