4.1 最大公约数

第一部曲:两种思路一种枚举一种利用辗转相除法,枚举可以选择从小到大也可以选择从大到小。

第二部曲:

 

第三部曲:

if(m<n)swap(m,n);
k=m%n;
while(k!=0)
{
m=n;
n=k;
k=m%n;
}
cout<<n;

第四部曲:

#include<iostream>//从小到大枚举
#include<algorithm>
using namespace std;
int main()
{
int m,n,k;
cin>>m>>n;
if(m<n)swap(m,n);
for(int i=1;i<=n;i++)
{
if(m%i==0&&n%i==0)
{
k=i;
}
}
cout<<k;
return 0;
}

#include<iostream>//从大到小枚举
#include<algorithm>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
if(m<n)swap(m,n);
for(int i=n;i>=1;i--)
{
if(m%i==0&&n%i==0)
{
cout<<i;
break;
}

}
return 0;
}

#include<iostream>//辗转相除法
#include<algorithm>
using namespace std;
int main()
{
int m,n,k;
cin>>m>>n;
if(m<n)swap(m,n);
k=m%n;
while(k!=0)
{
m=n;
n=k;
k=m%n;
}
cout<<n;
return 0;
}

 

 

 

posted @ 2023-05-26 12:06  自律小子丶  阅读(12)  评论(0)    收藏  举报