最大公因子_欧几里得算法_c++实现

本文介绍了使用欧几里得算法求解两个正整数的最大公因子(GCD)的过程,包括算法的详细步骤和逻辑。通过确保较大的数除较小的数并检查余数,直至余数为0,此时的除数即为最大公因子。文章还讨论了算法的时间复杂度优化,通过确保较大的数在前,以减少运算次数。
摘要由CSDN通过智能技术生成

(欧几里得算法) 给定两个正整数 m,n ,求它们的最大公因子,即能够同时整除m和n的最大整数

1.[求余数] 以n除m并令r为所得余数(0<=r<n)

2.[余数为0?]若r=0,算法结束,n即为答案。

3.[减少]置m<-n,<--r,并返回步骤1

但若m<n,前面三步运行结果是m',n交换,所以我们应该先比较m,n大小,并置m>=n,减少其运行时间

所以首先应:

0.[确保m>=n],如果m<n,交换m<--->n,



#include
   
   
    
    
using namespace std;
int main(){
  int m,n,r;
  cout<<"input m,n"<
    
    
     
     >m>>n;
  if(m
     
     
    
    
   
   



运行结果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值