快速求解gcd和lcm——非递归的欧几里得算法

 1 #include
 2 #include
 3 using namespace std;
 4 int n,m;
 5 //求解n,m的gcd和lcm
 6 
 7 int gcd(int a,int b)
 8 {
 9     while(1)
10     {   
11           if(aint t=a;a=b;b=t;}
12           if(b==0)  return a;
13           int x=a%b;a=b;b=x;
14     }
15 }
16 
17 int lcm(int a,int b)
18 {
19     return a/gcd(a,b)*b;
20 }
21 
22 int main()
23 {
24     scanf("%d %d",&n,&m);
25     cout<endl;
26     cout<<lcm(n,m);
27     return 0;
28 }            

希望自己下次不要再忘记算法啦~~~

你可能感兴趣的:(快速求解gcd和lcm——非递归的欧几里得算法)