함께 곱할 때 정확한 비트 패턴을 생성하는 두 값을 찾는 쉬운 방법이 있습니까?

StackOverflow https://stackoverflow.com/questions/1433855

  •  07-07-2019
  •  | 
  •  

문제

테스트 목적으로 특정 비트 패턴을 사용하여 128비트 중간 값에 정확히 곱해지는 두 개의 64비트 정수 값을 찾아야 합니다.분명히 원하는 중간 값을 생성하고 작동하는 조합을 찾을 때까지 임의의 값으로 나눌 수 있지만 더 효율적인 방법이 있습니까?

도움이 되었습니까?

해결책

이 문제는 다음과 같습니다 정수 인수분해.불행히도 빠른 알고리즘은 알려져 있지 않지만 Wikipedia 페이지를 살펴보면 시험 분할보다 빠른 (어쩌면 까다로운) 알고리즘이 있는 것 같습니다.

다른 팁

나는 j_random_hacker와 같은 것을 게시하려고했다. 128 비트 수가 프라임이거나 64 비트보다 큰 주요 요인이 있으면 문제에 대한 해결책이 없을 것이라고 덧붙였습니다.

그리고 나는 이전 주석에 추가 할 것입니다. 128 비트 수가 64 비트보다 큰 프라임 팩터가 있다면 확실히 64 비트 미만의 계수가 있습니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top