고정 너비 정수 (즉 , 너비 의 레지스터에 적합 ), 주어지고 그 합 도 너비 의 레지스터에 맞습니다 .
각 접두사 합계 도 너비 의 레지스터에 맞 도록 항상 숫자를 치환 할 수있는 것 같습니다 .
기본적으로, 동기는 임의의 중간 단계에서 정수 오버플로에 대해 걱정할 필요없이 고정 폭 레지스터 머신 에서 합계 을 계산하는 것 입니다.
그러한 순열을 찾는 빠른 (바람직하게는 선형 시간) 알고리즘이 있습니까 ( 가 입력 배열로 가정되는 경우)? (또는 그러한 순열이 존재하지 않는다고 말하십시오).
-2^(n-1)
에 2^(n-1)-1
. 물론 2의 보완 및 잘 정의 된 오버플로 동작이 필요하지만 C #과 같은 언어에서는 작동합니다.