Bir Gauss tamsayı olan gerçek ve sanal parça tamsayılardır kompleks bir sayıdır.
Gauss tamsayıları, sıradan tamsayılar gibi, Gaussian asalların ürünü olarak benzersiz bir şekilde temsil edilebilir. Buradaki zorluk, belirli bir Gauss tamsayı için ana bileşenleri hesaplamaktır.
Giriş: 0'a eşit olmayan ve bir birim olmayan bir Gauss tamsayı (yani, 1, -1, i ve -i girdi olarak verilemez). Herhangi bir mantıklı formatı kullanın, örneğin:
- 4-5i
- -5 * j + 4
- (4, -5)
Çıktı: Asal olan (yani hiç kimse iki üniteli Gauss olmayan tamsayıya ait bir ürün olarak gösterilemez) ve ürünü giriş numarasına eşit olan bir Gauss tamsayı listesi. Çıktı listesindeki tüm sayılar önemsiz olmamalıdır, yani 1, -1, i veya -i değil. Herhangi bir mantıklı çıktı formatı kullanılabilir; mutlaka giriş formatı ile aynı olmamalıdır.
Çıkış listesinde 1'den fazla eleman varsa, birkaç doğru çıkış mümkündür. Örneğin, giriş 9 için çıkış [3, 3] veya [-3, -3] veya [3i, -3i] veya [-3i, 3i] olabilir.
Test durumları ( bu tablodan alınmış ; her test durumu için 2 satır)
2
1+i, 1-i
3i
3i
256
1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i
7+9i
1+i,2−i,3+2i
27+15i
1+i,3,7−2i
6840+585i
-1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
Gauss tamsayılarını faktoring için yerleşik işlevlere izin verilmez. Yine de yerleşik tamsayılı fonksiyonlarla faktörü sıralamak mümkündür.
3i
Doğru cevap çünkü i
asal değil. Daha net olması için test vakasını güncelledim.
6840+585i
, yanlış faktörlerin listesine sahip 5
. Bunun yerine, geri döner -1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
. Kaynak
256=(1+i)**16
değil ve(1+i)**8
256=2**8=(2i)**8
2i=(1+i)**2
3i
olarak geri3,i
ya3i
?