题意:有一个长为a宽为b的桌子,现在在桌子的中心放一小球,开始时小球的速度与水平方向有一个夹角,小球在s时间内在水平方向上与桌子相撞了n次,在垂直方向上与桌子相撞了m次,现在要求小球与水平方向所成的角度和速度大小.
思路:其实就是在一个无数个相同的桌子拼接成的图上找一条直线过两个桌子的中点,并,满足题目的碰撞次数。。。。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int main()
{
double a,b,s,m,n,v,angle;
double PI = acos(-1.0);
while (scanf("%lf%lf%lf%lf%lf",&a,&b,&s,&m,&n))
{
if (a + b + s + n + m == 0)
break;
angle = atan((n*b)/(m*a));
double l = sqrt(m*a*m*a+n*b*n*b);
v = l / s;
printf("%.2lf %.2lf\n",angle*180/PI,v);
}
return 0;
}