요소 a가 제너레이터의 특정주기 그룹 G에 속하는지 확인하려면 어떻게합니까? 지금은 단순히 그룹의 모든 요소를 생성하고 컨테이너에 저장 한 다음 요소가 해당 요소에 있는지 확인합니다. a 요소가 그룹에있는 경우 단순히 확인프라임 순서의 순환 그룹에서 요소 찾기
public HashSet<BigInteger> group_elements(BigInteger g, BigInteger q) {
HashSet<BigInteger> group = new HashSet<BigInteger>();
BigInteger element = modPow(g,ONE,q);
for (int i = 2; !group.contains(element); i++) {
group.add(element);
element = modPow(g, BigInteger.valueOf(i), q);
}
return group;
}
및보고 :
if (group.contains(num)) { ... }
당신이 언어를 볼 수 있듯이이 코드 메신저는 현재 그룹의 모든 요소를 생성하기 위해 사용하고 Java입니다.
당신이 사용하고있는 언어 ** 당신이 시도한 것을 보여주십시오 ** –
일반적으로 코드를 작성하는 것이 아니라 프로그래밍이 잘된 것 같습니다. 그것은 당신을 붙들어 놓은 문제의 수학입니다. –
잠깐, 뭐라구? 귀하의 그룹은 q의 곱셈 그룹입니다. 맞습니까? 따라서 q로 나눌 수없는 정수는 그 그룹의 원소입니다. [또는 코드가하는 것처럼 각 잔류 클래스에 대한 담당자를 선택하는 경우 그룹은 {1, ..., q-1}입니다.] 어느 쪽이든 너무 많이 작성할 필요는 없습니다. 암호. :-) – ShreevatsaR