【如皋OJ】C++判断互质

该博客主要介绍了如何使用欧几里得算法来判断两个正整数是否互质,即它们的最大公约数是否为1。给出了样例输入和输出,并指出遵循gcd(a, b) = gcd(b, a mod b)的定理可以使问题简化,通过递归或迭代实现算法,可以高效地求解最大公约数并判断互质关系。" 100643375,8427171,如何修改BT种子的Tracker服务器列表,"['P2P下载', 'BT技术', '网络下载', '文件分享', '数据传输']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1075: ex423:判断互质

时间限制: 1 Sec  内存限制: 128 MB
提交: 162  解决: 78
[提交] [状态] [讨论版] [命题人:外部导入]

题目描述

输入两个正整数m和n,判断m和n是否互质(即最大公约数为1)。

 

输入

只有1行2个正整数m和n(1<=n,m<231)。

 

输出

如果2个整数互质,就输出Yes;否则输出No,并在第2行输出这2个整数的最大公约数(注意:这里的要求和教材上不同)。

 

样例输入

36 56

 

样例输出

No
4

 

 

大家想必听说过欧几里得算法,有了这个算法,这道题就会十分简单。

定理:gcd(a,b) = gcd(b,a mod b),这定理乍一看不容易,可事实上很简单,举个例子,1997和615:

1997=3*615+152

615=4*152+7

152=21*7+5

7=1*5+2

5=2*2+1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值