Objective c 最大公约数目标-C

Objective c 最大公约数目标-C,objective-c,greatest-common-divisor,Objective C,Greatest Common Divisor,我对ios编程还不熟悉。我对GCD计划有疑问 01 // This program finds the greatest common divisor of two nonnegative integer values 02 03 #import <Foundation/Foundation.h> 04 05 int main (int argc, const char * argv[]) { 06 NSAutoreleasePool * pool = [[NSAutor

我对ios编程还不熟悉。我对GCD计划有疑问

01 // This program finds the greatest common divisor of two nonnegative integer values
02 
03 #import <Foundation/Foundation.h>
04 
05 int main (int argc, const char * argv[]) {
06     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
07     unsigned int u, v, temp;
08     
09     NSLog(@"Please type in two nonnegative integers.");
10     scanf("%u%u", &u, &v);
11     
12     while (v != 0) {
13         temp = u % v;
14         u = v;
15         v = temp;
16     }
17     
18     NSLog(@"Their greatest common divisor is %u", u);
19     
20     [pool drain];
21     return 0;
22 }

这在英语中是什么意思?

这部分实际上是使用最大公约数来计算的。

%是最大公约数。这三行将
u
除以
v
,剩余部分存储在temp中。然后,
u
获取
v
的值,
v
获取余数。当
v
不是0时,重复该过程。

我看到您使用的是欧几里德算法

如您所见,
temp=u%v
%是一个模运算符,它将u和v分开,剩余部分存储在temp中。然后,的值存储在变量v中,最后,temp的值存储在变量v中。整个过程将重复,直到v的值不等于0或不等于0

while(v!=0)
     temp = u%v
     u =v;
     v = temp;