约数:
又称因数。整数a除以整数b(b≠0)除得的商正好是整数而没有余数,就说a能被b整除,或b能整除aa称为b的倍数,b称为a的约数。
公约数::
也叫“公因数”。如果一个整数同时是几个整数的约数,称这个整数为它们的公约数;
公约数中最大的称为最大公约数。
最大公约数
【问题描述】
输入两个正整数你n,m,求n和m的最大公约数,并输出结果
【输入样例】
24 36
【输出样例】
12
【枚举】
#include <iostream>
using namespace std;
int main()
{
//最大公约数
int n,m,gcd; //gcd保存最大公约数
cin>>n>>m;
for(int i=1;i<=min(n,m);i++){
if(n%i==0 && m%i==0){//同时被i整除视为公约数
gcd=i;//有新的公约数,直接覆盖
}
}
cout<<gcd;
return 0;
}
【辗转相除法】
#include <iostream>
using namespace std;【】
int main()
{
//最大公约数,辗转相除法
int n,m;
cin>>n,m;
while(m%n){
int r =m%n;
m=n;
n=r;
}
cout<<n;
return 0;
}