Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- double x, v,o;
- double s,s1,s2,a,t1,t2,t,tmin;
- double g = 9.81;
- cin >> x >> v >> o;
- double orad = o*M_PI/180;
- a = (-1)*g*tan(orad);
- if(x == 0)
- {
- cout << 0;
- return 0;
- }
- if (x>0)
- {
- if (o>0)
- {
- if(v == 0)
- {
- tmin = sqrt(x/a*(-1));
- tmin *= 2;
- cout << tmin;
- return 0;
- }
- else
- {
- s1 = (v*v)/(2*(-1)*a);
- s = s1+x;
- t1 = (2*s1)/v;
- t2 = sqrt(s/((-1)*a));
- tmin = 2*t2+t1;
- }
- }
- if (o<0)
- {
- if (v==0)
- {
- tmin = sqrt(x/a);
- tmin *= 2;
- cout << tmin;
- return 0;
- }
- else
- {
- s1 = (v*v)/(2*a);
- s = s1+x;
- t1 = (2*s1)/v;
- t2 = sqrt(s/a);
- t = 2*t2+t1;
- tmin = t-(2*t1);
- }
- }
- }
- if (x<0)
- {
- if(v == 0)
- {
- tmin = sqrt(x/a);
- tmin *= 2;
- cout << tmin;
- return 0;
- }
- if (o>0)
- {
- if (v==0)
- {
- tmin = sqrt(x/a);
- tmin *= 2;
- cout << tmin;
- return 0;
- }
- else
- {
- s1 = (v*v)/(2*a);
- s = s1+x;
- t1 = (2*s1)/v;
- t2 = sqrt(s/a);
- tmin = 2*t2+t1;
- }
- }
- if (o<0)
- {
- if (v == 0)
- {
- tmin = sqrt(x/(a*(-1)));
- tmin *= 2;
- cout << tmin;
- return 0;
- }
- else
- {
- s1 = (v*v)/(2*(-1)*a);
- s = s1+x;
- t1 = (2*s1)/v;
- t2 = sqrt(s/((-1)*a));
- t = 2*t2+t1;
- tmin = t-(2*t1);
- }
- }
- }
- cout << tmin;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement