숫자 시퀀스 x의 곱을 반환하는 함수 prod (x)가 있다고 가정합니다.다수의 숫자를 곱하고 0에서 멈춤
x의 피연산자 수가 임의로 큰 경우 0이 발생할 때 곱셈을 중단하여 x 곱을 계산하는 시간을 줄이는 방법을 어떻게 생각할 수 있습니까? 성숙한 컴파일러와 통역사가 벌써하는 일입니까?
자신의 prod (x) 함수를 작성하는 경우 가장 좋은 방법은 무엇입니까? if 0 in x then return(0) else multiply(x)
같은 것을하는 것이 이치에 맞습니까?
예를 들어, x = 1,0,3,4,...,-4,9
인 경우 두 번째 용어를 지나서 계속 곱해야 할 필요는 없습니다. 맞습니까?
실제 질문이 무엇인지 잘 모르겠습니다. 그것은 "정수리스트에 제로 값이 있는지 찾아내는 법"인가? ... 여러 개의 숫자 시퀀스가 상당히 임의적이기 때문에 ("드문"이라고 읽음). 그렇다면 목록 값이 0인지 확인하여 메소드를 최적화 할 수 있습니다. 필자는 정수 배열을 곱하는 것이 아마도 내장 함수가 아니기 때문에 컴파일러가 이러한 최적화 검사를하는 것을 진지하게 생각합니다. – robnick