파이썬 2 , 61 47 바이트
lambda n:[k/n for k in range(n*n)if k/n*k%n==1]
온라인으로 사용해보십시오!
배경
링 고려하십시오 . 이 고리는 일반적으로 모듈로 잔류 물 클래스를 사용하여 정의되지만 , 집합으로 간주 될 수 있습니다 . 여기에서 더하기 및 곱하기 연산자는 및 , 여기서 는 일반적인 추가를 나타냅니다. 정수에 대한 곱셈과 모듈로 연산자.n Z n = { 0 , … , n - 1 } a + n b = ( a + b )( Z엔, +엔, ⋅엔)엔지엔= { 0 , … , n - 1 }a ⋅ n b = a ⋅ ba +엔b = ( a + b )%엔+ ,a⋅nb=a⋅b%n+,⋅, and %
두 요소 및 의 상호라고 곱셈 역관계 모듈로 경우 . 참고 마다 .b Z n n a ⋅ n b = 1abZnn1a⋅nb=1%nn > 11%n=1n>1
수정 및하자 의 서로 소가 될 에서 . 경우 개의 요소에 대한 및 의 , 우리가 그 . 이것은 의미가 , 우리는 다음과 즉, 균등하게 나눕니다 . 이후 과 공유 아무 주요 약수 이 그 의미 . 마지막으로a n Z n a ⋅ n x = a ⋅ n y x y Z n a ⋅ xn>1anZna⋅nx=a⋅nyxyZna ⋅ ( x − y )a⋅x%n=a⋅y%nn ∣ a ⋅ ( x − y ) n a ⋅ ( x − y ) n a n ∣ x − y − n < x − y < n x = y a ⋅ n 0 , … , a ⋅ n ( n − 1 ) Z n Z n n 1 b Za⋅(x−y)%n=a⋅x%n−a⋅y%n=0n∣a⋅(x−y)na⋅(x−y)nan∣x−y−n<x−y<n , 우리는 라고 결론지었습니다 . 이는 제품 이 모두 다른 요소임을 . 이후 정확히 보유 요소 같아야 해당 제품의 온 (정확히 하나) 예를하는가 고유 에서 되도록 .x=ya⋅n0,…,a⋅n(n−1)ZnZnn1 b a ⋅ n b = 1Zna⋅nb=1
반대로, 수정 및하자 의 요소 수 되어 있지 에 서로 소 . 이 경우 및 과 같은 소수 있습니다. 경우 곱셈 역 모듈로 인정 (현실을 부르 자 , 우리가있는 것) , 의미가 , 따라서, 이므로 입니다. 이후 , 우리는 다음과a Z n n p p ∣ a p ∣ n a n b a ⋅ n b = 1 a ⋅ bn>1aZnnpp∣ap∣nanba⋅nb=1( a ⋅ b − 1 )a⋅b%n=1n ∣ a ⋅ b − 1 p ∣ a p ∣ a ⋅ b p ∣ n p ∣ a ⋅ b − 1 p ∣ ( a ⋅ b ) - ( a ⋅ b − 1 ) = 1 p(a⋅b−1)%n=a⋅b%n−1=0n∣a⋅b−1p∣ap∣a⋅b . 반면에 이기 때문에 도 따릅니다 . 이 방법으로 이므로 가 소수 라는 가정과 모순 됩니다.p∣np∣a⋅b−1p∣(a⋅b)−(a⋅b−1)=1p
이는 때 다음 명령문이 동일 함을 증명합니다 .n>1
작동 원리
정수의 각 쌍 및 에 , 정수 고유; 실제로 와 는 몫이고 나머지를 으로 나눈 값 , 즉 가 주어지면 및 복구 할 수 있습니다 . 여기서 정수 나누기를 나타냅니다 . 마지막으로 이고 이므로 는 의 요소입니다 . 실제로 입니다.b Z n k : = a ⋅ n + b a b k n k a = k / n b = kabZnk:=a⋅n+babknka=k/n/ ≤ N - 1 ㄱ ≤의 N - 1 K Z의 N 2 유전율 ≤ ( N - 1 ) ⋅ N + ( N - 1 ) = N (2) - 1b=k%n/a≤n−1b≤n−1kZn2k≤(n−1)⋅n+(n−1)=n2−1
위에서 언급 한 바와 같이, 와 이 동일 프라임 인 경우 과 같은 고유 가있을 것입니다. 즉, 와 와 같은 고유 가있을 것입니다. , 이렇게 생성 된 목록에 포함 회만.n b a ⋅ banbk k / n = a k / n ⋅ ka⋅b%n=1kk/n=ak/n⋅k%n=(k/n)⋅(k%n)%n=1a
반대로, 와 이 동일 프라임 이 아닌 경우 은 모든 값에 대해 과 같이 거짓 이므로 생성 된 목록에 포함 되지 않습니다. .n k / n ⋅ kank a = k / n ak/n⋅k%n=1ka=k/na
이것은 람다 리턴이 Z_n에있는 의 모든 정확히 한 번 포함 할 것임을 증명합니다 .Z nnZn
1\n3\n
유효한 출력으로 계산됩니까?