2013-07-08 8 views

답변

18

fractions 모듈은 NumPy와의 GCD에 대한 here 이상 조리법이있다

>>> from fractions import Fraction 
>>> Fraction(98, 42) 
Fraction(7, 3) 

것을 할 수 있습니다. 그런 다음 분수를 나눌 때 사용할 수 있습니다.

>>> def numpy_gcd(a, b): 
...  a, b = np.broadcast_arrays(a, b) 
...  a = a.copy() 
...  b = b.copy() 
...  pos = np.nonzero(b)[0] 
...  while len(pos) > 0: 
...   b2 = b[pos] 
...   a[pos], b[pos] = b2, a[pos] % b2 
...   pos = pos[b[pos]!=0] 
...  return a 
... 
>>> numpy_gcd(np.array([98]), np.array([42])) 
array([14]) 
>>> 98/14, 42/14 
(7, 3) 
+0

고마워요! 위대한 작품! 입력 값은 정수 여야하며 실수로 입력 할 수 없습니다. – LWZ