1001 Harry And Physical Teacher
这是去年一个学妹问我的物理题。我是这样考虑的:题目告诉我们,小球和车发生的是完全弹性碰撞,那么动能是守恒的,而碰撞过程中,动量也守恒。联立动能守恒,动量守恒方程。然后还有一个很特殊的条件,车的质量远大于小球,那么结合下实际情况,一个质量很小的物体撞质量很大的物体,大的物体的速度是不会发生变化的。有了这个条件,就可以求解了。推导过程如下:
用
V
表示碰撞前车的速度,
V ′
表示碰撞后车的速度;用
V 0
表示碰撞前球的速度,用
V ′ 0
表示碰撞后球的速度;用
M
表示车的质量,用
m
表示球的质量。(
M>>m
)
{12 MV 2 +12 mV 2 0 =12 MV ′ 2 +12 mV ′ 2 0 ①MV+mV 0 =MV ′ +mV ′ 0 ②
⇒{12 M(V+V ′ )(V−V ′ )=12 m(V 0 +V ′ 0 (V ′ 0 −V 0 ))③M(V−V ′ )=m(V ′ 0 −V 0 )④
由
④
可将
③
约成
V+V ′ =V 0 +V ′ 0
然后将
V ′
视作
V
,可得
V ′ 0 =2V−V 0
注意long long。前两次没调long long WA了两次。。。
# include<cstdio>
# include<iostream>
using namespace std;
int main(void)
{
long long v,v0;
while ( cin>>v>>v0 )
{
long long f = (-1)*v0+2*v;
cout<<f<<endl;
}
return 0;
}