這道題目的意思是,給你一個長為a寬為b的球桌,現(xiàn)在給它一個初速度,使得它在若干次碰撞后回到初始位置(題目里默認(rèn)為小桌的中心)
現(xiàn)在告訴你小球和垂直邊碰撞的次數(shù)m,以及和水平邊碰撞的次數(shù)n,還有整個過程的時間s,讓你求出碰撞的初速度以及出球的角度;
列方程求解:
b*n=v*sin(θ)*s
a*m=v*cos(θ)*s
所以得到
tan(θ)=(b*n)/(a*m);
可解出θ;
然后在代入原方程求解v即可;
#include<iostream>
#include<cmath>
using namespace std;

const double Pi=3.141592653;

int main ()


{

double a,b,s,m,n;
while(scanf("%lf%lf%lf%lf%lf",&a,&b,&s,&m,&n))

{
if(a==0&&b==b&&s==0&&m==0&&n==0)
break;
double degree;
double resultdegree;
degree=atan(b*n/(a*m));
resultdegree=atan(b*n/(a*m))/Pi*180;
double v;
v=(b*n)/(sin(degree)*s);
printf("%.2lf %.2lf\n",resultdegree,v);
}
system("pause");
return 0;
}