公约数,简单来讲,可以被两个数都整除的一个数。
最大公约数,就是两个数的所有公约数中最大的那一个。
求得方法有很多,比如:
//枚举法 int a,b,t; cin>>a>>b; for(int i=1;i<=min(a,b);i++){ if(a%i==0&&b%i==0){ t=i; } }cout<<t;
//辗转相除法:
int a,b,t;
cin>>a>>b;
while(b!=0){ //一直让除数对余数取余
t=a%b; //t为a除b的余数
a=b; //令b作为下一轮的被除数
b=t;} //让t的值作为下一轮的除数
cout<<a;