2011-10-23 76 views
2

我是ios編程的新手。我有關於GCD計劃的問題。最大公約數Objective-C

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 } 

我不明白這個部分:

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

這是什麼意思,在英語?

回答

1

%是mod operator。這三條線將u除以v並將餘數存儲在溫度中。然後u得到v的值,v得到餘數。重複這個過程,而v不爲0

+0

謝謝。非常有幫助 – Ben

0

我看你使用euclideans算法

,你可以看到,temp = u%v%是模運算符的地方劃分u和v和它的剩餘存儲在溫度然後將值存儲在變量v中,最後將temp值存儲在變量v中,並且整個過程將重複,直到v的值不等於0或不等於0爲止。