求给定两个数的最大公约数

求给定两个数的最大公约数

问题描述

如题

解决方法

最大公约数的算法此处用碾转相除法,该算法又称为欧几里得算法。实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int gcd = 0;  
int num1 = 20;
int num2 = 6;
int remainder = 0;
if (num1 % num2 == 0) {
gcd = num2;
}else{
do {
remainder = num1 % num2;
num1 = num2;
num2 = remainder;
} while (remainder > 0);

if (num2 == 0) {
gcd = num1;
}else{
gcd = num2;

}
}

NSLog(@"%d和%d的最大公约数是:%d",20,6,gcd);
隐藏