1、求兩個數(A和B)的最大公約數:算法
1.算法思路: 展轉法循環
①A做爲被除數,B做爲除數,C=A%B方法
②若是C==0,B爲最大公約數im
③不然,繼續取模運算,A=B,B=C,C=A%B,同上while
2.例子:return
int CountMaxComYueShu(int A,int B)
{
if((0==A)||(0==B))
{
return 0;
}
int C=A%B;
while(C!=0)
{
A=B;
B=C;
C=A%B;
}
return B;
}
2、求兩個數(A和B)的最小公倍數
1.算法思路:
方法(1).利用最大公約數C求最小公倍數D=A*B/C
方法(2).循環查找法,遞增較大數的倍數,找到能同時整除兩個數的倍數爲止
2.例子:循環查找法:
int MinCommondTime(int m,int n)//求最小公倍數 { if(0==m) return n; else if(0==n) return m; int max=m*n; int k=m; if(n>m) k=n; int j=k; for(int i=0;j<=max;j=k*i) { if((j%m==0)&&(j%n==0)) return j; i++; } return -1;}