uva10387
2014-05-03 15:05
295 查看
水平长度a,垂直高度b;经过m次垂直边上的反弹和n次水平边上的反弹后历时s秒回到出发点。一个球从桌的正中间发射,求发射时的角度(0-90度之间)和球的初始速度。运动期间无能量损失,把球看成一个质点。
结果精确到小数点后两位。
方法:用(b*n)/(a*m)其实就是发射角度的正切值,因为b*n是用桌子的垂直高度*水平碰撞的次数,水平碰撞两次说明求从上边到了下边,即走的长度是b*n/2,因为上下都有/2,所以上下同时约掉了。也正因此——a,b都是偶数。
注意角度与弧度的转换~~~~~~
结果精确到小数点后两位。
方法:用(b*n)/(a*m)其实就是发射角度的正切值,因为b*n是用桌子的垂直高度*水平碰撞的次数,水平碰撞两次说明求从上边到了下边,即走的长度是b*n/2,因为上下都有/2,所以上下同时约掉了。也正因此——a,b都是偶数。
注意角度与弧度的转换~~~~~~
#include <iostream> #include<cmath> #include<iomanip> using namespace std; int main() { int a,b,n,m; double t; while(cin>>a>>b>>t>>m>>n,a+b+n+m) { double s=a*m,v=b*n; double c=atan(v/s)*180/3.141592653; double ts=sqrt(s*s+v*v); while(c>90) c-=90; cout.setf(ios::showpoint); cout.precision(2); cout.setf(ios::fixed); cout<<c<<' '<<ts/t<<endl; } return 0; }
相关文章推荐
- uva 10387 Billiard(简单几何)
- uva 10387(数学)
- uva-10387 - Billiard
- UVA - 10387 Billiard
- UVA 10387 Billiard
- Uva 10387 - Billiard
- UVA 10387 Billiard
- UVA - 10387 Billiard
- UVA - 10387 Billiard
- UVa 10387 - Billiard
- uva 10387 Billiard
- UVA 10387 台球 ,
- uva 10387
- UVa 10387 Billiard
- UVa 10387 - Billiard
- UVa 10387- Billiard
- uva 10387 - Billiard
- UVa 10387 Billiard (计算几何&反射)
- UVa 10387 - Billiard
- UVA-10387 Billiard