Một con mèo gần như không có khối lượng được thả trong không gian (đừng lo lắng, với bộ đồ không gian và mọi thứ) tại điểm (x, y, z)
với vận tốc (vx, vy, vz)
. Có một hành tinh cố định, vô cùng dày đặc (có thể tích bằng 0) tại điểm (0, 0, 0)
và nó thu hút các vật thể ở khoảng cách r
với gia tốc 1/r^2
. Theo lực hấp dẫn của Newton, vật thể đi đâu sau thời gian t
?
Gần như không có khối lượng trong trường hợp này có nghĩa là bạn đang xuất ra giá trị của lim (mass --> 0) <position of cat>
. Khối lượng bị ảnh hưởng bởi trọng lực của hành tinh, nhưng hành tinh không bị ảnh hưởng bởi trọng lực của mèo. Nói cách khác, cơ thể trung tâm là cố định.
Điều này hơi giống với Code Golf: Số phận của tàu vũ trụ là gì? [phiên bản dấu phẩy động] , nhưng điều này khác bởi vì nó đang đo độ chính xác.
Bạn có thể triển khai giải pháp dựa trên mô phỏng, phải chạy trong vòng chưa đầy 3 giây, HOẶC bạn có thể thực hiện chương trình cung cấp giá trị chính xác (cũng phải chạy trong chưa đầy 3 giây). Xem chi tiết ghi bàn dưới đây. Nếu bạn thực hiện một mô phỏng, nó không phải chính xác, nhưng điểm của bạn sẽ thấp hơn vì không chính xác.
Đầu vào : x y z vx vy vz t
, không nhất thiết là các số nguyên biểu thị tọa độ x, y, z, vận tốc theo các hướng x, y và z tương ứng. Nó được đảm bảo rằng tốc độ của con mèo hoàn toàn thấp hơn tốc độ thoát ở độ cao đó. Đầu vào có thể được lấy từ bất cứ đâu, bao gồm các tham số cho một chức năng. Chương trình phải chạy trong chưa đầy ba giây trên máy tính xách tay của tôi t < 2^30
, điều đó có nghĩa là, nếu bạn đang chạy một mô phỏng, bạn phải điều chỉnh dấu thời gian của mình cho phù hợp. Nếu bạn dự định đạt giới hạn 3 giây cho mọi trường hợp thử nghiệm, hãy đảm bảo có một tham số có thể điều chỉnh có thể làm cho nó chính xác hơn / kém chính xác hơn để tăng tốc độ, để tôi có thể làm cho nó chạy trong ba giây trên máy tính của mình.
Đầu ra : x y z
, vị trí sau thời gian t
.
Vì vấn đề hai cơ thể có thể được giải quyết một cách hoàn hảo, theo lý thuyết là có thể có được một câu trả lời hoàn hảo, chính xác.
Chấm điểm : Đối với mọi trường hợp kiểm tra, lỗi được xác định là khoảng cách giữa đầu ra của bạn và đầu ra "đúng". Đầu ra thực được định nghĩa là đầu ra mà đoạn trích trường hợp thử nghiệm tạo ra. Nếu sai số nhỏ hơn 10^(-8)
, lỗi được làm tròn xuống không. Điểm của bạn là lỗi trung bình trên 100 (hoặc nhiều hơn) các trường hợp kiểm tra ngẫu nhiên. Nếu bạn viết một câu trả lời hoàn toàn chính xác, bạn sẽ nhận được điểm 0; Điểm số thấp nhất sẽ thắng và mối quan hệ sẽ bị phá vỡ bởi độ dài mã.
Các trường hợp thử nghiệm :
1 0 0 0 -1 0 1000000000 --> 0.83789 -0.54584 0
Trong trường hợp này, quỹ đạo có hình tròn hoàn hảo với chu kỳ 2 * pi, do đó, sau khi quay vòng 159154943 lần, con mèo kết thúc ở khoảng (0,83789, -0,54584). Đây không phải là trường hợp thử nghiệm mà mã của bạn sẽ được kiểm tra; tuy nhiên, nếu bạn gửi một câu trả lời hoàn toàn chính xác, bạn có thể muốn kiểm tra nó trên này.
Đoạn mã dưới đây tạo ra các trường hợp thử nghiệm bổ sung ngẫu nhiên và sẽ được sử dụng để đánh giá bài nộp; cho tôi biết nếu có lỗi với điều này:
t
được đưa ra trong đơn vị thời gian, bất kể đó là gì, và vận tốc sẽ sử dụng cùng một đơn vị. Cho dù đó là trong vài giây hoặc giờ, câu trả lời sẽ giống nhau.
nearly massless cat
Chà, khối lượng chính xác của con mèo sẽ là bao nhiêu? Chúng ta có nên sử dụng 0
như một giá trị cho khối lượng của con mèo này?
t
cho trong vài giây? Nếu vậy, vận tốc sẽ được tính theo đơn vị mỗi giây, hoặc một cái gì đó nhỏ hơn?