辗转相除法

这个求最大公约数的方法必须掌握;

举例 99  121

121 - 99 = 22 ;

99 - 22 = 77 ;

77 - 22 = 55 ;

55 - 22 = 33 ;

33 - 22 = 11 ;

22 - 11 = 11 ;

最大公约数为 : 11 ;

下面是一个我比较喜欢的一个辗转相除法:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int  main()
 6 {
 7     int x = 99,y = 121,x1,y1,r;
 8         x1 = x;
 9         y1 = y;
10     while( x1 % y1)
11     {
12         r = x1 % y1;
13         x1 = y1;
14         y1 = r;
15     }
16     cout<<y1<<endl;
17         return 0;
18 }

2020-01-11

上一篇:回文


下一篇:力扣(C++): 回文数