Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- int n;
- double x0;
- std::vector <double> V, V2, V3;
- double dziel(int it)
- {
- double val = 1;
- while(it < n)
- val *= x0-V[it++];
- return val;
- }
- void pt(double x1)
- {
- for(int i = 1; i <= n; i++)
- {
- std::cout << V3[i] << " v3, *x1 " << V3[i-1] * -x1 << "\n";
- V2.push_back(V3[i] + V3[i-1] * -x1);
- }
- }
- int main()
- {
- double a;
- std::cin >> n;
- for(int i = 0; i < n ; i++)
- {std::cin >> a; V.push_back(a);}
- x0 = V[0];
- double dzielna = dziel(1); // zaczynamy od x1;
- V3.push_back(1); V3.push_back(-V[1]);
- for(int i = 2; i < n; i++)
- {
- V2.clear();
- pt(V[i]);
- V3 = V2;
- }
- for(int i = 0; i < V2.size(); i++)
- {
- std::cout << V2[i] << ' ';
- }
- std::cout << dzielna; // -1,2, 1 -2 // -2, -5, 1 , 9
- int t = 0;
- while(t < n)
- {
- std::cout << std::setprecision(3) << std::fixed << V2[t] / dzielna << " ";
- t++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement