0
좋아요. 그래서 정수의 이진 표현을 계산 한 다음 오른쪽에서 왼쪽 표기법으로 바꾸고이를 벡터에 배치하고 모듈화 된 지수법을 수행하는 과제가 있습니다. 이진 표현을 아래로 가지고 있지만 모듈화 된 지수 부분에 오면 잘못된 대답을 얻습니다. 그것은 코드에서 보지 못한 무언가일지도 모르지만 예제를 살펴본 결과 문제의 원인을 파악할 수 없습니다. 다음은 여기에 모듈러 지수를 나타내는 코드입니다.지수의 이진 표현을 사용하는 모듈러 지수화
int ModularExpo(int a, vector<int> K, int n) {
if (n == 1) {
return 0;
}
int b = 1;
int A = a;
if (K[0] == 1) {
b = a;
}
for (unsigned int i = 1; i < K.size() - 1; i++) {
A = A * A % n;
if (K[i] == 1) {
b = A * b % n;
}
}
return b;
}
그래서 기본적 I베이스 보내 (a), 역 벡터 (K)와 계수 (N)와 같은 바이너리 형태 지수. 2 개의 변수 b와 A를 초기화 한 다음 K가 짝수인지 홀수인지 확인하기 위해 첫 번째 인덱스를 확인한 다음 모든 것을 요약하는 내 루프로 이동하십시오. 아직도 그것을 알아낼 수 없습니다.
감사합니다. 감사합니다.
컴파일러가'-1'과'<='를 인식하지 못하고 'i
user4581301