2019年四月四日D题

 

题意:

第一行输入代表下面输入的测试数对的个数

 

接下来的每个数对中 两个数中可以任意选择一个作为判断数字 选完n个之后 这些数对的最小公因数即为答案

换言之第一组选18 15 12得3,也可以选18 24 12得6或3或2 输出一个答案即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long int ll;
 
ll A[1000000];
ll B[1000000];
 
 
 
int main () {
    ios::sync_with_stdio(false);
    int n;
    cin >> n;
    ll ans = 0;
    ll x, y;
    for (int i = 0; i < n; ++i) {
        cin >> x >> y;
        A[i] = x;   B[i] = y;
        ans = __gcd(ans, x * y);    // 记录乘起来的最大公约数 这个数一定大于等于输入的数 并且答案一定是这个的最小的除了1的因数
    }
    if (ans == 1) {
        cout << -1 << endl;
        return 0;
    }
    for (int i = 0; i < n; ++i) {
        if (__gcd(A[i], ans) > 1) {  // 找出存在的更小的因子
            ans = __gcd(A[i], ans);
        }
        else
            ans = __gcd(B[i], ans);
    }
    cout << ans << endl;
}

 

posted @   LightAc  阅读(217)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
返回顶端
点击右上角即可分享
微信分享提示