Arka plan (tanımlara atla)
Euler karmaşık sayılarla ilgili güzel bir teorem kanıtladı: e ix = cos (x) + i sin (x).
Bu de Moivre teoreminin kanıtlanmasını kolaylaştırır:
(e ix ) n = e i (nx)
(cos (x) + i sin (x)) n = cos (nx) + i sin (nx)
İki boyutlu Öklid düzlemini kullanarak karmaşık sayıları çizebiliriz, yatay eksen gerçek kısmı temsil eder ve dikey eksen hayali kısmı temsil eder. Bu şekilde, (3,4) karmaşık sayı 3 + 4i'ye karşılık gelir.
Kutupsal koordinatlara aşina iseniz, (3,4) kutupsal koordinatlarda (5, arktan (4/3)) olur. İlk sayı, r, noktanın başlangıç noktasından uzaklığıdır; ikinci sayı, θ, pozitif x ekseninden noktaya saat yönünün tersine ölçülen açıdır. Sonuç olarak, 3 = r cosθ ve 4 = r sinθ. Bu nedenle, r cosθ + ri sinθ = r (cosθ + i sinθ) = re iθ olarak 3 + 4i yazabiliriz .
Şimdi n n pozitif bir tamsayı olan z n = 1 karmaşık denklemini çözelim .
Biz z = re iθ olsun . Ardından, z n = r n e inθ . Z n'nin başlangıç noktasından uzaklığı r n'dir ve açı nθ'dir. Bununla birlikte, başlangıç noktasından 1 uzaklığının 1 ve açının 0 olduğunu biliyoruz. Bu nedenle, r n = 1 ve nθ = 0. Ancak, 2π daha fazla döndürürseniz, yine aynı noktada kalırsınız, çünkü 2π sadece tam bir çemberdir. Bu nedenle, r = 1 ve nθ = 2kπ, bize z = e 2ikπ / n verir .
Keşifimizi yeniden başlatıyoruz : z n = 1'in çözümleri z = e 2ikπ / n .
Bir polinomun kökleri açısından ifade edilebilir. Örneğin, x 2 -3x + 2'nin kökleri 1 ve 2'dir, bu nedenle x 2 -3x + 2 = (x-1) (x-2). Benzer şekilde, yukarıdaki keşfimizden:
Ancak, bu ürün kesinlikle diğer n köklerini içeriyordu. Örneğin, n = 8 alın. Z kökleri 4 = 1, Z kökleri içine dahil olacak 8 z beri = 1 4 = 1 Z ima 8 = (z 4 ) 2 = 1 2 , örnek olarak = çekme 1. n = 6. Z 2 = 1 olsaydı, o zaman z 6 = 1 olurdu . Benzer şekilde, z 3 = 1 ise, z 6 = 1'dir.
Eğer z n = 1'e özgü kökleri çıkarmak istiyorsak, 1 dışında hiçbir ortak böleni paylaşmak için k ve n'ye ihtiyacımız olurdu. Aksi takdirde, d> 1 olduğunda ortak böleni d paylaşırlarsa, z (k / d) -z n / d = 1'in kökü . Polinomu kökleri açısından yazmak için yukarıdaki tekniği kullanarak, polinomu elde ederiz:
Bu polinomun z n / d = 1 köklerinin çıkarılmasıyla yapıldığını , d'nin n'nin bölücüsü olduğunu unutmayın. Yukarıdaki polinomun tamsayı katsayıları olduğunu iddia ediyoruz. Polinomların LCM'sini, d> 1 ve d'nin n'ye böldüğü z n / d -1 şeklinde düşünün . LCM'nin kökleri tam olarak kaldırmak istediğimiz köklerdir. Her bileşen tamsayı katsayılarına sahip olduğundan, LCM ayrıca tamsayı katsayılarına sahiptir. LCM bölme z yana N -1, bölüm tamsayı katsayılı bir polinom olmalıdır, ve bölüm üzerinde polinomlarıdır.
Z n = 1 köklerinin yarıçapı 1'dir, bu nedenle bir daire oluştururlar. Polinom, n'ye özgü çemberin noktalarını temsil eder, bu yüzden bir anlamda polinomlar çemberin bir bölümünü oluşturur. Bu nedenle, yukarıdaki polinom n'inci siklotomik polinomdur. (siklo- = daire; tom- = kesmek için)
Tanım 1
N'inci devirli polinom ile gösterilen , bu bölme x tamsayı katsayılı benzersiz polinom N -1, ancak X k -1 k <n.
Tanım 2
Siklotomik polinomlar, her pozitif tamsayı için bir tane olan bir dizi polinomdur, öyle ki:
nerede k | n, k bölünmeleri anlamına gelir
Tanım 3
N. Siklotomik polinom, polinom x n- l'in, k'nin n ve k <n'yi böldüğü x k -1 formundaki polinomların LCM'sine bölünmesiyle elde edilir .
Örnekler
- Φ 1 (x) = x - 1
- Φ 2 (x) = x + 1
- Φ 3 (x) = x 2 + x + 1
- Φ 30 (x) = x 8 + x 7 - x 5 - x 4 - x 3 + x + 1
- Φ 105 (x) = x 48 + x 47 + x 46 - x 43 - x 42 - 2x 41 - x 40 - x 39 + x 36 + x 35 + x 34 + x 33 + x 32 + x 31 - x 28 - x 26 - x 24 - x 22 - x 20 + x 17 + x 16 + x 15 + x 14 + x 13 + x 12 - x9 - x 8 - 2x 7 - x 6 - x 5 + x 2 + x + 1
Görev
Pozitif bir tamsayı verildiğinde n
, n
yukarıda tanımlandığı gibi -th siklotomik polinomunu makul bir biçimde döndürün (ieeg katsayılar listesine izin verilir).
kurallar
Kayan nokta / karmaşık sayıları doğru değere yuvarladıkları sürece döndürebilirsiniz.
puanlama
Bu kod golfü . Bayt cinsinden en kısa cevap kazanır.