lambda n:[k/n for k in range(n*n)if k/n*k%n==1]
Çevrimiçi deneyin!
Arka fon
Halkayı düşünün . Bu halka genellikle modulo n kalıntı sınıfları kullanılarak tanımlanırken , toplama ve çarpma operatörlerinin a + n b = ( a ile tanımlandığı Z n = { 0 , … , n - 1 } kümesi olarak da düşünülebilir. + b )( Zn, +n, ⋅n)nZn= { 0 , … , n - 1 } ve a ⋅ n b = a ⋅ ba +nb = ( a + b )%n , burada + ,a ⋅nb = a ⋅ b%n , tamsayılar üzerinde normal toplama, çarpma ve modulo operatörlerini belirtir.+ ,And ve %
İki elemanın ve b arasında Z'nin n karşılıklı olarak adlandırılır çarpımsal tersleri modulo n ise , bir ⋅ n b = 1birbZnn . 1 olduğunu unutmayına ⋅nb = 1%n olduğunda , n > 1 .1%n = 1n > 1
Fix ve let bir bir göreceli asal olmak n içinde Z n . Eğer bir ⋅ n x = a ⋅ n y iki eleman için x ve y ve Z, n , sahip olduğu bir ⋅ xn > 1birnZna ⋅nx = a ⋅nyxyZn . Bu bir ⋅ ( x - y ) anlamına gelira ⋅ x%n = a ⋅ y%n , ve de onu takip n | bir ⋅ ( x - y ) , yani N bölen bir ⋅ ( x - y ) eşit. Yana n ile hisselerin hiçbir asal bölenler bir , bu demektir n | x - y . Son olarak, - n < x - y < n olduğundan , x = y olduğu sonucuna vardık. Bu, ürünlerin bir ⋅ olduğunu gösterir.a ⋅ ( x - y)%n = a ⋅ x%n - a ⋅ y%n = 0n ∣ a ⋅ ( x - y)na ⋅ ( x - y)nbirn∣x−y−n<x−y<nx=y tüm farklı elemanları , Z , n . Bu yana , Z , n tam olarak bulunur , n elemanları eşit olmalıdır, bu ürünlerin bir (ve tam bir) 1 , yani, bir olduğueşsiz b içinde Z , n , öyle ki bir ⋅ n b = 1 .a⋅n0,…,a⋅n(n−1)ZnZnn1 bZna⋅nb=1
Bunun aksine, düzeltmek ve izin bir unsuru olarak , Z , n olduğu değil için asal n . Bu durumda, bir asal vardır p böyle p | a ve p | n . Eğer bir çarpımsal ters modülo kabul n (diyelim b , bunu olurdu) bir ⋅ n b = 1 , yani bu bir ⋅ bn>1aZnnpp∣ap∣nanba⋅nb=1 ve bu nedenle, ( a ⋅ b - 1 )a⋅b%n=1 , yani n ∣ a ⋅ b - 1 . Yana p | bir , de onu takip p | bir ⋅ b . Öte yandan, çünkü p | n , biz de o izleyin p | a ⋅ b - 1 . Bu şekilde, p ∣ ( a ⋅ b ) - ( a ⋅ b - 1 ) = 1(a⋅b−1)%n=a⋅b%n−1=0n∣a⋅b−1p∣ap ∣ a ⋅ bp ∣ np ∣ a ⋅ b - 1p∣(a⋅b)−(a⋅b−1)=1ki bu, asal bir sayı olduğu varsayımına aykırıdır .p
Bu, aşağıdaki ifadelerin olduğunda eşdeğer olduğunu kanıtlar .n>1
Nasıl çalışır
Her bir tamsayı çifti için ve b olarak Z, n , tam sayı k : = bir ⋅ n + b benzersizdir; Aslında, a ve b , k ' nin bölümü ve kalanı n ' ye bölünür , yani k verildiğinde , a = k / n ve b = k ' ı kurtarabiliriz.abZnk:=a⋅n+babknka=k/n ,tamsayılıbölmenerede / anlamına gelir. Son olarak, bu yana bir ≤ n - 1 ve b ≤ n - 1 , k, bir elemanıdır , Z , n 2 ; aslında, k ≤ ( n - 1 ) ⋅ N + ( n - 1 ) = N 2 - 1 .b=k%n/a≤n−1b≤n−1kZn2k≤(n−1)⋅n+(n−1)=n2−1
Yukarıda belirtildiği gibi, eğer ve n, göreceli asal olan, benzersiz olacaktır b böyle bir ⋅ banb , yani, benzersiz olacaktır k , öyle ki k / n = a ve k / n ⋅ ka⋅b%n=1kk/n=a , üretilen liste çok içerecek bir tam olarak bir kez.k/n⋅k%n=(k/n)⋅(k%n)%n=1a
Tersine, eğer ve n edilir değil asal, durumu k / n ⋅ kan ve tüm değerleri için yanlış olacaktır k , öyle ki , bir = k / n , üretilen bir liste böylecedeğiliçeren bir .k/n⋅k%n=1ka=k/na
Bu liste kanıtlıyor lambda döner tüm içerecektir içinde 'ın coprimes Z n tam olarak bir kez.nZn
1\n3\n
) Geçerli çıktı olarak sayılıyor mu?