Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1.  
  2. // (0;0) 2018
  3. // y=kx+b
  4. // x^2 + (kx+b)^2 = 2018^2
  5. // (k^2+1) * x^2 + 2*k*b*x + b^2-2018^2 = 0
  6. //d = 4kkbb - (4kk+4)(bb-2018^2) = 4kkbb - 4kkbb - 4bb + 2018^2*4kk - +2018^2*4 = 2018^2*4kk - 4bb + 2018^2*4
  7. // = 4 * ((2018*k - b)(2018*k - b) + 2018^2)
  8. // a = k^2+1 b = 2*k*b c = b^2+2018^2
  9. // 0 корней d < 0
  10. // 1 корень d == 0
  11. // 2 корня d > 0
  12.  
  13.  
  14. #include <iostream>
  15. #include <math.h>
  16.  
  17. using namespace std;
  18.  
  19. int main()
  20. {
  21. int k,b,D=0;
  22. long double x1=0,x2=0,y1=0,y2=0;
  23. cin>>k>>b;
  24. //(k*k+1)*x*x + 2*k*b*x + b*b-2018*2018
  25. D=((2018*k-b)*(2018*k+b)+2018*2018);
  26. if (D!=0) {
  27. if (D>0) {
  28. x1=(-k*b+sqrt(D))/(k*k+1);
  29. x2=(-k*b-sqrt(D))/(k*k+1);
  30. y1=k*x1+b;
  31. y2=k*x2+b;
  32. cout<<2<<endl;
  33. cout<<x1<<" "<<y1<<endl;
  34. cout<<x2<<" "<<y2;
  35. }else cout<<0;
  36. }else {
  37. x1=-1.0*k*b/(k*k+1);
  38. y1=k*x1+b;
  39. cout<<1<<endl;
  40. cout<<x1<<" "<<y1;
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement