Neredeyse kütlesiz bir kedi, (x, y, z)hızda bir noktada uzaya düşüyor (bir uzay giysisi ve her şeyle endişelenmeyin) (vx, vy, vz). Noktada sabit, sonsuz yoğun bir gezegen (0 hacmi ile) vardır (0, 0, 0)ve nesneleri rivmeli olarak uzaktan çeker 1/r^2. Newton yer çekimine göre, nesne zaman sonra nereye gidiyor t?
Bu durumda neredeyse kütlesiz değeri çıktısını aldığınız anlamına gelir lim (mass --> 0) <position of cat>. Kütle gezegenin yer çekiminden etkilenir, ancak gezegen kedinin yerçekiminden etkilenmez. Başka bir deyişle, merkezi beden sabittir.
Bu Code Golf'e biraz benziyor : Uzay gemisinin kaderi nedir? [kayan noktalı sürüm] , ancak doğruluk ölçtüğü için bu farklı.
3 saniyeden daha kısa sürede çalışması gereken bir simülasyona dayalı bir çözüm uygulayabilirsiniz, VEYA tam bir değer veren bir program da uygulayabilirsiniz (ayrıca 3 saniyeden daha kısa sürede çalıştırılmalıdır). Aşağıdaki puanlama ayrıntılarına bakın. Bir simülasyon uygularsanız, kesin olması gerekmez, ancak yanlışlık nedeniyle puanınız daha düşük olacaktır.
Girdi : x y z vx vy vz tmutlaka x, y, z koordinatlarını, x, y ve z yönlerindeki hızı ve zamanı temsil eden tam sayılar olmak zorunda değildir. Kedinin hızının, o irtifadaki kaçış hızından kesinlikle daha düşük olduğu garanti edilir. Bir işleve parametreler dahil olmak üzere giriş her yerden alınabilir. Program dizüstü bilgisayarımda üç saniyeden daha kısa sürede çalışmalı t < 2^30, yani bir simülasyon çalıştırıyorsanız, zaman testinizi buna göre ayarlamanız gerekir. Her test durumu için 3 saniyelik sınıra ulaşmayı planlıyorsanız, bilgisayarımda üç saniye içinde çalışmasını sağlamak için hız kazançları için daha doğru / daha az doğru hale getirebilecek ayarlanabilir bir parametre olduğundan emin olun.
Çıktı :, x y zsüre sonra konum t.
İki cisim problemi mükemmel bir şekilde çözülebildiğinden teorik olarak mükemmel ve doğru bir cevap almak mümkündür.
Puanlama : Herhangi bir test durumunda, hata, çıktınız ile "doğru" çıktı arasındaki mesafe olarak tanımlanır. Gerçek çıktı, test senaryosu snippet'inin ürettiği çıktı olarak tanımlanır. Hata daha küçükse 10^(-8), hata sıfıra yuvarlanır. Puanınız 100 (veya daha fazla) rastgele test vakasındaki ortalama hatadır. Kusursuz bir cevap yazarsanız, 0 puan almalısınız; en düşük puan kazanır ve bağlar kod uzunluğuna göre kesilir.
Test senaryoları :
1 0 0 0 -1 0 1000000000 --> 0.83789 -0.54584 0
Bu durumda, yörünge periyot 2 * pi ile mükemmel daireseldir, bu nedenle 159154943 kez daire çizdikten sonra kedi yaklaşık olarak (0.83789, -0.54584) biter. Bu, kodunuzun test edileceği bir test durumu değildir; bununla birlikte, kusursuz bir cevap gönderirseniz, bu konuda test etmek isteyebilirsiniz.
Aşağıdaki pasaj rastgele ek test senaryoları oluşturur ve gönderimleri yargılamak için kullanılacaktır; bununla ilgili bir hata varsa bana bildirin:
tbirim zamanda, ne olursa olsun verilir ve hız aynı birimi kullanır. İster saniye ister saat olsun, cevap aynı olacaktır.
nearly massless catPeki, kedinin tam kütlesi ne olurdu? 0Bu kedinin kütlesi için bir değer olarak mı kullanmalıyız ?
tsaniye cinsinden mi verilir? Eğer öyleyse, hız saniyede birim olarak mı yoksa daha küçük bir şey olarak mı verilir?