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;
}