2011-08-10 4 views
1

파이썬 인터프리터에 큰 a (20 개의 숫자) b (4 개의 숫자) c (20 개의 숫자)가있는 b % c를 넣으면 (a, b, c)와 거의 비슷합니다. 나는 파이썬이 처음으로 ** b를 계산하고 결과의 모듈러스 (%)를 얻는 또 다른 행동을 기대하며 그러한 계산은 더 많은 시간이 걸릴 것이다. 현장 뒤의 마술은 어디에 있습니까?큰 숫자로 된 Python ** 및 % 연산자의 동작

+1

'pow'를 사용하여'(x ** y) % z'를 효율적으로 계산할 수 있습니다. http://stackoverflow.com/questions/101268/hidden-features-of-python/3371415#3371415 –

+0

참여해 주셔서 감사합니다. – Bole

답변

2

파이썬은 임의 정밀도 정수를 지원하는 것 외에 장면 뒤에는 마법이 없으며 잘 구현되어 있습니다. ** b를 계산하고 % c를 계산했습니다.

0

오늘날의 컴퓨터는 전혀 시간처럼 보이는에서 발생할 수있는 놀라 울 정도로 빠르고 아주 복잡한 계산이다. 지연을 확인하려면 이러한 계산을 여러 번 반복해야합니다. 백만 달러부터 시작 하겠어.

6

당신이 좋아하는 파이썬 인터프리터 뭔가에 입력하는 경우 : 다음 몇 초를보고

20937505974095709374 ** 3438 

기다립니다. 그런 노력 : 차이가 왜

20937505974095709374 ** 3438 % 6 

을 그리고 대기를보고하지 않으며, 궁금, 당신은 첫 번째 인스턴스에서 볼 수있는 지연 실제로 터미널 버퍼와 거대한를 인쇄하는 데 걸리는 시간입니다 번호를 화면에 표시합니다.

+1

네, 각 계산을 오히려 변수에 할당하여 볼 수 있습니다. 그것을 인쇄하는 것보다. – kindall