首页 > 其他分享 >3169 找出最大公约数

3169 找出最大公约数

时间:2024-06-30 22:58:08浏览次数:17  
标签:找出 gcd int ll 最大公约数 3169 cout

解法一:循环倒叙一个个找

#include<bits/stdc++.h>
#define f(i,s,e) for(int i = s; i <= e; i++)
#define ll long long
using namespace std;
const int N = 1e3+10,inf = 0x3f3f3f3f;

int main()
{
    int n,m; cin >> n >> m;
    for(int i = n; i >= 1; i--)
    {
        //i能被n和m整除,说明i同时为n,m的因子 
        if(n % i == 0 && m % i == 0)
        {
            cout << i; 
            return 0;
        }
    }
    return 0;
}

 

解法二:辗转相除法gcd

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3+10,inf = 0x3f3f3f3f;
int gcd(int a,int b) //gcd(a,b) 求出a和b的最大公约数 
{
    return b == 0 ? a : gcd(b,a % b);
}
int main()
{
    ll n,x,y,m;
    cin >> n >> m;
    cout << gcd(n,m);
    return 0;    
}

 

标签:找出,gcd,int,ll,最大公约数,3169,cout
From: https://www.cnblogs.com/jyssh/p/18277124

相关文章

  • 在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
    在Linux中统计IP访问情况并分析Nginx访问日志,以找出访问页面数量在前十位的IP地址,可以通过一系列命令行工具高效完成。这里以一个典型的工作流程为例,说明如何进行这一分析:1.确定日志文件位置首先,需要知道Nginx的访问日志文件位置。通常,这个文件位于/var/log/nginx/access.log,但......
  • LeetCode 28题找出字符串中第一个匹配项的下标
    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6......
  • 2024华为OD机试真题- 找出作弊的人-(C++/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述公司组织了一次考试,现在考试结果出来了,想看一下有没人存在作弊行为,但是员工太多了,需要先对员工进行一次过滤,再进一步确定是否存在作弊行为。过滤的规则为:找到分差最小的员工ID对(p1,p2)列表,要求p1<......
  • 算法题---判断链表中是否有环,并找出环的入口
    方案一、利用Set集合不会重复的原理booleanjudgeCycle(Nodehead){Set<Node>visited=newHashSet<>();Nodenode=head;while(node!=null){if(visited.contains(node))returntrue;visi......
  • acwing246 区间最大公约数
    给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:Clrd,表示把A[l],A[l+1],...A[r]都加上d。Qlr,表示查询A[l],A[l+1],...A[r]的最大公约数。对于每个询问,输出一个整数表示答案。分析:利用差分数组,将区间修改转换成两次单点修改。再用差分数组构造出原数组区间的......
  • NumPy 差分、最小公倍数、最大公约数、三角函数详解
    NumPy差分离散差分意味着相邻元素之间的减法。例如,对于[1,2,3,4],离散差分将是[2-1,3-2,4-3]=[1,1,1]要找到离散差分,使用diff()函数。示例:importnumpyasnparr=np.array([10,15,25,5])newarr=np.diff(arr)print(newarr)返回:[510-20],因为15-......
  • 代码随想录刷题记录(8)| 字符串(151.反转字符串里的单词,卡码网:55.右旋转字符串,28. 找出字
    目录(四)反转字符串里的单词1. 题目描述2.思路3.解题过程(1)使用额外空间存储(2)原地反转 (五)右旋转字符串1.题目描述2.思路3.解题过程 (六)找出字符串中第一个匹配项的下标1.题目描述2.思路3.解题思路(七)重复的子字符串1.题目描述2.思路3.解题过程(八)......
  • Debug-015-找出两个列表中不重复的元素
    constsetA=newSet(A.map((item)=>item.deviceName))constres=B.filter(item=>!setA.has(item.deviceName))console.log('两个列表中不重复的元素',res)这段代码主要实现了从一个列表中筛选出不在另一个集合中的元素。首先,通过map方法将A列表中的......
  • nginx快速分析日志并找出攻击IP
    第一步:分析NGINX日志分析日志主要目的是寻找那些异常活跃的IP地址,通过以下命令可以快速找出。 cataccess.log|awk'{print$1}'|sort|uniq-c|sort-rn|head-10命令说明:cataccess.log:将access.log文件的内容输出到标准输出。awk'{print$1}':awk是一个强大的文本......
  • 最大公约数(gcd())和最小公倍数(lcm())的c语言和c++详细解法
    最大公约数(gcd())和最小公倍数(lcm())最大公约数:定义:两个或多个整数共有的约数中最大的一个。例如:整数12和18,他们的公约数有1、2、3、6,其中最大的公约数是6。c语言解法:辗转相除法和更相减损法1、辗转相除法:思路:先求解较大的数除以较小的数的余数,再用较小的数除以前......