Giriş
İki boyutlu kartezyen bir düzlemde olduğunuzu ve üzerindeki konumunuzu belirlemek istediğinizi düşünün. O uçakta 3 nokta ve her birine olan uzaklığınızı biliyorsunuz. Konumunuzu hesaplamak her zaman mümkün olsa da, bunu kafanızda yapmak oldukça zordur. Bunun için bir program yazmaya karar verdiniz.
Meydan okuma
3 puan ve bunlara olan uzaklığınız göz önüne alındığında, konumunuzun kordinatlarını çıkarın.
- Giriş ve çıkış, gerçek sayılar yerine karmaşık kullanım da dahil olmak üzere herhangi bir uygun formatta olabilir. Lütfen cevabınızı hangi formatta kullandığınızı açıklığa kavuşturun.
- Size olan mesafeleriyle her zaman tam olarak 3 farklı nokta elde edersiniz.
- Koordinatlar ve mesafeler keyfi bir hassasiyetle yüzer. Çıktınız 3 ondalık basamağa kadar doğru olmalıdır. Yuvarlama size kalmış. Lütfen cevabınızda açıklayınız.
- Üç noktanın eşdoğrusal olmadığını varsayabilirsiniz, bu nedenle her zaman benzersiz bir çözüm olacaktır.
- Çözümü kaba kuvvetlendirmenize izin verilmiyor.
- Bu sorunu önemsizleştiren herhangi bir yerleşik kullanamazsınız. Yine de vektör normları vb. İçin yapılara izin verilir.
Başlamak için ipucu:
Bu 3 noktanın her birinin çevresinde, yarıçapı size olan mesafeleri olan bir daire düşünün.
kurallar
- İşlev veya tam programa izin verilir.
- Giriş / çıkış için varsayılan kurallar .
- Standart boşluklar geçerlidir.
- Bu kod golf , bu yüzden en düşük bayt sayısı kazanır. Tiebreaker daha erken sunuluyor.
Test senaryoları
Bir noktada için giriş biçimi burada [[x,y],d]
ile x
ve y
koordinatları olan ve d
bu noktaya mesafedir. Bu noktalardan 3 tanesi bir listede düzenlenmiştir. Çıktı, daha x
sonra y
bir listede olacaktır.
[[[1, 2], 1.414], [[1, 1], 2.236], [[2, 2], 1.0]] -> [2, 3] [[[24.234, -13.902], 31.46], [[12.3242, 234.12], 229.953], [[23.983, 0.321], 25.572]] -> [-1.234, 4.567] [[[973.23, -123.221], 1398.016], [[-12.123, -98.001], 990.537], [[-176.92, 0], 912.087]] -> [12.345, 892.234]
Bu Pyth programıyla ek test senaryoları oluşturabilirsiniz . Konum girişin ilk satırına gider ve 3 nokta aşağıdaki 3 satırdadır.
Mutlu Kodlama!
solve
(üç daire denklemi verilir) sorunu önemsizleştiriyor mu? Öyle olduğunu düşündüm, ama eğer böyle şeylerle iyiysen, devam edip postalayacağım.