Objective c 最大公约数目标-C
我对ios编程还不熟悉。我对GCD计划有疑问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
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;