Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // (0;0) 2018
- // y=kx+b
- // x^2 + (kx+b)^2 = 2018^2
- // (k^2+1) * x^2 + 2*k*b*x + b^2-2018^2 = 0
- //d = 4kkbb - (4kk+4)(bb-2018^2) = 4kkbb - 4kkbb - 4bb + 2018^2*4kk - +2018^2*4 = 2018^2*4kk - 4bb + 2018^2*4
- // = 4 * ((2018*k - b)(2018*k - b) + 2018^2)
- // a = k^2+1 b = 2*k*b c = b^2+2018^2
- // 0 корней d < 0
- // 1 корень d == 0
- // 2 корня d > 0
- #include <iostream>
- #include <math.h>
- using namespace std;
- int main()
- {
- int k,b,D=0;
- long double x1=0,x2=0,y1=0,y2=0;
- cin>>k>>b;
- //(k*k+1)*x*x + 2*k*b*x + b*b-2018*2018
- D=((2018*k-b)*(2018*k+b)+2018*2018);
- if (D!=0) {
- if (D>0) {
- x1=(-k*b+sqrt(D))/(k*k+1);
- x2=(-k*b-sqrt(D))/(k*k+1);
- y1=k*x1+b;
- y2=k*x2+b;
- cout<<2<<endl;
- cout<<x1<<" "<<y1<<endl;
- cout<<x2<<" "<<y2;
- }else cout<<0;
- }else {
- x1=-1.0*k*b/(k*k+1);
- y1=k*x1+b;
- cout<<1<<endl;
- cout<<x1<<" "<<y1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement