首页 > 其他分享 >AcWing 872. 最大公约数

AcWing 872. 最大公约数

时间:2023-08-25 22:31:34浏览次数:36  
标签:输出 return gcd 10 int 872 最大公约数 AcWing

JWvFczgRNg.jpg

题目

给定 $n$ 对正整数 $a_i,b_i$,请你求出每对数的最大公约数。

输入格式 第一行包含整数 $n$。

接下来 $n$ 行,每行包含一个整数对 $a_i,b_i$。

输出格式 输出共 $n$ 行,每行输出一个整数对的最大公约数。

数据范围 $1≤n≤10^5,1≤a_i,b_i≤2×10^9$ 输入样例:

2
3 6
4 6

输出样例:

3
2

思路

一种流传比较广的算法:辗转相除法

两个正整数 $a,b$,进行以下操作:a = b, b = a % b 直至 a % b == 0

代码

#include <iostream>

using namespace std;

int gcd(int a, int b)
{
    if (a % b == 0) return b;
    
    return gcd(b, a % b);
}

int main()
{
    int n;
    cin >> n;
    
    while (n -- )
    {
        int a, b;
        cin >> a >> b;
        
        cout << gcd(a, b) << endl;
    }
    
    return 0;
}

标签:输出,return,gcd,10,int,872,最大公约数,AcWing
From: https://blog.51cto.com/u_16170343/7236112

相关文章

  • 8.Acwing基础课第795题-简单-前缀和
    8.Acwing基础课第795题-简单-前缀和题目描述输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l,r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含......
  • 11.Acwing基础课第795题-简单-前缀和
    11.Acwing基础课第795题-简单-前缀和题目描述输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数,,,,c,其中(,)和(,)表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c。请你将进行完所有操作后的矩阵输出。输......
  • 10.Acwing基础课第797题-简单-差分
    10.Acwing基础课第797题-简单-差分题目描述输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l,r,c,表示将序列中[l,r]之间的每个数加上c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数序列......
  • 9.Acwing基础课第796题-简单-子矩阵的和
    9.Acwing基础课第796题-简单-子矩阵的和题目描述输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数,,,,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数n,m,q。接下来n行,每行包含m个整数,表示......
  • 12.Acwing基础课第799题-简单-最长连续不重复子序列
    12.Acwing基础课第799题-简单-最长连续不重复子序列题目描述给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0∼1050∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不......
  • AcWing 868. 筛质数
    题目给定一个正整数$n$,请你求出$1∼n$中质数的个数。输入格式共一行,包含整数$n$。输出格式共一行,包含一个整数,表示$1∼n$中质数的个数。数据范围$1≤n≤10^6$输入样例:8输出样例:4思路朴素筛选遍历到某个数值$i$我们将它的倍数全部删除,如此反复,剩下的为$1......
  • 2.Acwing基础课第786题-简单-第k个数
    2.Acwing基础课第786题-简单-第k个数题目描述给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。输入格式第一行包含整数n和k。第二行包含n个整数(所有整数均在1~范围内),表示整个数列。输出格式输出一个整数,表示数列的第k......
  • 5.Acwing基础课第792题-简单-高精度减法
    5.Acwing基础课第792题-简单-高精度减法题目描述给定两个正整数(不含前导0),计算它们的差,计算结果可能为负数。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的差。数据范围1≤整数长度≤100000输入样例3211输出样例21思路解析:算法:时间复杂度:*O(nlog(n)......
  • 4.Acwing基础课第791题-简单-高精度加法
    4.Acwing基础课第791题-简单-高精度加法题目描述给定两个正整数(不含前导0),计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤100000输入样例1223输入样例35思路解析:算法:时间复杂度:*O(nlog(n))*解题思路:代码:......
  • 7.Acwing基础课第794题-简单-高精度除法
    7.Acwing基础课第794题-简单-高精度除法题目描述给定两个非负整数(不含前导0)A,B,请你计算A/B的商和余数。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1≤A的长度≤100000,1≤B≤10000,B一定不为......