Advertisement
a53

recc_RECURSII_LINIARE

a53
Apr 25th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #define LL long long
  4. using namespace std;
  5. /// ecuatia: a1*p4+a2*p3+a3*p2+a4*p1=k*x => a1*p4+a2*p3=k*x-(a3*p2+a4*p1)
  6. /// https://www.youtube.com/watch?v=ws5dDS1ByNk
  7. LL div(LL divizor,LL n)
  8. {
  9. if(n<0)
  10. n=-n;
  11. LL d;
  12. if(n==1)
  13. return n;
  14. else
  15. for(d=divizor;d<=n;++d)
  16. if(n%d==0)
  17. break;
  18. return d;
  19. }
  20.  
  21. void term_a4(LL d,LL &a1,LL &a2,LL &a3,LL &a4)
  22. {
  23. LL A1=a1,A2=a2,A3=a3,A4=a4;
  24. A1=d+A1;A2=A1*d+A2;A3=A2*d+A3;A4=A3*d+A4;
  25. cout<<A1<<' '<<A2<<' '<<A3<<' '<<A4<<'\n';
  26. if(A4==0)
  27. a1=A1,a2=A2,a3=A3,a4=A4;
  28. }
  29.  
  30. void term_a3(LL d,LL &a1,LL &a2,LL &a3)
  31. {
  32. LL A1=a1,A2=a2,A3=a3;
  33. A1=d+A1;A2=A1*d+A2;A3=A2*d+A3;
  34. cout<<A1<<' '<<A2<<' '<<A3<<'\n';
  35. if(A3==0)
  36. a1=A1,a2=A2,a3=A3;
  37. }
  38.  
  39. int main()
  40. {
  41. int n,b,x,k;
  42. LL a1,a2,a3,a4;
  43. ifstream f("recc.in");
  44. f>>n>>b>>x>>k>>a1>>a2>>a3>>a4;
  45. f.close();
  46. LL t,divizor=2; /// t^4-a1*t^3-a2*t^2-a3*t-a4=0
  47. a1=-a1;a2=-a2;a3=-a3;a4=-a4;
  48. if(a4==1)
  49. divizor=1;
  50. else
  51. divizor=2;
  52. while(a4)
  53. {
  54. while(a4%divizor)
  55. ++divizor;
  56. cout<<"DIVIZ= "<<divizor<<endl,term_a4(divizor,a1,a2,a3,a4),++divizor;
  57. }
  58. if(a3==1)
  59. divizor=1;
  60. else
  61. divizor=2;
  62. while(a3)
  63. {
  64. while(a3%divizor)
  65. ++divizor;
  66. cout<<"DIVIZ= "<<divizor<<endl,term_a3(divizor,a1,a2,a3),++divizor;
  67. }
  68. int rez=0;
  69. ofstream g("recc.out");
  70. g<<rez<<'\n';
  71. g.close();
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement