一。最大公约数:是能够整除两个整数的最大整数,如下三种方法:
/*1.穷举法
由于a和b的最大公约数不可能比两者的较小者还大,
即检查从1~t的所有整数,满足公约数条件的t就是最大公约数。
*/
#include <stdio.h>
#include <stdlib.h>
int Gcd(int a,int b){
int t;
if( a<=0 ||b<=0 ) return -1;
t=a<b?a:b;
for(int i=t;i>0;i--){ ////从a和b的较小者t开始,逐次减1尝试每种可能
if(a%i==0&&b%i==0) return i;
}
return 1;
}
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c = Gcd(a,b);
if(c!=-1) printf("%d和%d的最大公约数为%d\n",a,b,c);
else printf("%d和%d无最大公约数!",a,b);
return 0;
}/*1.穷举法
由于