In der speziellen Relativitätstheorie ist die Geschwindigkeit eines sich bewegenden Objekts relativ zu einem anderen Objekt, das sich in die entgegengesetzte Richtung bewegt, durch die Formel gegeben:
s = ( v + u ) / ( 1 + v * u / c ^ 2)
In dieser Formel sind und die Größen der Geschwindigkeiten der Objekte und ist die Lichtgeschwindigkeit (die ungefähr 3,0 × 10 8 beträgt , eine Annäherung nahe genug für diese Herausforderung).
Wenn sich beispielsweise ein Objekt bewegt v = 50,000 m/s
und ein anderes Objekt sich bewegt u = 60,000 m/s
, wäre die Geschwindigkeit jedes Objekts relativ zum anderen ungefähr s = 110,000 m/s
. Dies ist, was Sie unter der galiläischen Relativitätstheorie erwarten würden (wo Geschwindigkeiten einfach addieren). Wenn v = 50,000,000 m/s
und jedoch, wäre u = 60,000,000 m/s
die Relativgeschwindigkeit ungefähr 106,451,613 m/s
, was sich signifikant von der 110,000,000 m/s
durch die galiläische Relativitätstheorie vorhergesagten unterscheidet .
Die Herausforderung
Wenn zwei ganze Zahlen v
und u
solche gegeben sind 0 <= v,u < c
, berechnen Sie die relativistische Additivgeschwindigkeit unter Verwendung der obigen Formel mit c = 300000000
. Die Ausgabe muss entweder ein Dezimalwert oder ein reduzierter Bruch sein. Die Ausgabe muss innerhalb 0.001
des tatsächlichen Werts für einen Dezimalwert oder genau für einen Bruch liegen.
Testfälle
Format: v, u -> exact fraction (float approximation)
50000, 60000 -> 3300000000000/30000001 (109999.99633333346)
50000000, 60000000 -> 3300000000/31 (106451612.90322581)
20, 30 -> 7500000000000000/150000000000001 (49.999999999999666)
0, 20051 -> 20051 (20051.0)
299999999, 299999999 -> 53999999820000000000000000/179999999400000001 (300000000.0)
20000, 2000000 -> 4545000000000/2250001 (2019999.1022226212)
2000000, 2000000 -> 90000000000/22501 (3999822.2301231055)
1, 500000 -> 90000180000000000/180000000001 (500000.9999972222)
1, 50000000 -> 90000001800000000/1800000001 (50000000.972222224)
200000000, 100000000 -> 2700000000/11 (245454545.45454547)
s/velocity/Velocity of an Unladen Swallow/g