在狭义相对论中,移动物体相对于另一个在相反方向移动的物体的速度由以下公式给出:
s = ( v + u ) / ( 1 + v * u / c ^ 2)
在这个公式中,和是物体速度的大小,是光速(大约是,对此非常接近挑战)。
例如,如果一个对象在移动v = 50,000 m/s
,而另一个对象在移动u = 60,000 m/s
,则每个对象相对于另一个的速度大约为s = 110,000 m/s
。这就是您在伽利略相对论(速度简单地相加)下所期望的。但是,如果v = 50,000,000 m/s
和u = 60,000,000 m/s
,则相对速度将约为106,451,613 m/s
,这与110,000,000 m/s
伽利略相对论所预测的速度明显不同。
挑战
给定两个整数v
和u
使得0 <= v,u < c
,计算相对论添加剂速度,使用上面的公式,用c = 300000000
。输出必须是十进制值或减少的分数。0.001
对于十进制值,输出必须在实际值范围内,对于小数,输出必须在精确值范围内。
测试用例
格式: 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