Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

43 строки
914B

  1. #include <iostream>
  2. #include "FloatArray.hh"
  3. #include "DFA.cc"
  4. #include "LFA.cc"
  5. void polyshow (FloatArray& f) {
  6. for (int i=f.minIndex(); i<=f.maxIndex(); i=i+1)
  7. if (f.isMember(i) && f[i]!=0.0)
  8. std::cout << "+" << f[i] << "*x^" << i;
  9. std::cout << std::endl;
  10. }
  11. void polymul (FloatArray& a, FloatArray& b, FloatArray& c) {
  12. // Loesche a
  13. for (int i=a.minIndex(); i<=a.maxIndex(); i=i+1)
  14. if (a.isMember(i))
  15. a[i] = 0.0;
  16. // a = b*c
  17. for (int i=b.minIndex(); i<=b.maxIndex(); i=i+1)
  18. if (b.isMember(i))
  19. for (int j=c.minIndex(); j<=c.maxIndex(); j=j+1)
  20. if (c.isMember(j))
  21. a[i+j] = a[i+j]+b[i]*c[j];
  22. }
  23. int main ()
  24. {
  25. // funktioniert mit einer der folgenden Zeilen:
  26. // DynamicFloatArray f,g;
  27. ListFloatArray f,g;
  28. f[0] = 1.0; f[100] = 1.0;
  29. polymul(g,f,f);
  30. polymul(f,g,g);
  31. polymul(g,f,f);
  32. polymul(f,g,g); // f=(1+x^100)^16
  33. polyshow(f);
  34. }