#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
double delta, pdelta;
double x1, x2;
// ===== PRZYKŁAD 1 =====
a = 3;
b = 4;
c = 5;
cout << "Przyklad 1: 3x^2 + 4x + 5 = 0" << endl;
delta = b*b - 4*a*c;
if (delta >= 0) {
pdelta = sqrt(delta);
// Pierwiastek x1 – stabilna postać
if (b >= 0)
x1 = (-b - pdelta) / (2*a);
else
x1 = (-b + pdelta) / (2*a);
// Drugi pierwiastek z iloczynu pierwiastków
x2 = c / (a * x1);
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl;
} else {
cout << "Brak pierwiastkow rzeczywistych" << endl;
}
cout << endl;
// ===== PRZYKŁAD 2 =====
a = 1;
b = 10000;
c = 1;
cout << "Przyklad 2: x^2 + 10000x + 1 = 0" << endl;
delta = b*b - 4*a*c;
if (delta >= 0) {
pdelta = sqrt(delta);
// Pierwszy pierwiastek – stabilna postać
if (b >= 0)
x1 = (-b - pdelta) / (2*a);
else
x1 = (-b + pdelta) / (2*a);
// Drugi pierwiastek obliczony ze wzoru c / (a*x1)
x2 = c / (a * x1);
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl; // SAMO dojdzie do 0
} else {
cout << "Brak pierwiastkow rzeczywistych" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYSwgYiwgYzsKICAgIGRvdWJsZSBkZWx0YSwgcGRlbHRhOwogICAgZG91YmxlIHgxLCB4MjsKCiAgICAvLyA9PT09PSBQUlpZS8WBQUQgMSA9PT09PQogICAgYSA9IDM7CiAgICBiID0gNDsKICAgIGMgPSA1OwoKICAgIGNvdXQgPDwgIlByenlrbGFkIDE6IDN4XjIgKyA0eCArIDUgPSAwIiA8PCBlbmRsOwoKICAgIGRlbHRhID0gYipiIC0gNCphKmM7CgogICAgaWYgKGRlbHRhID49IDApIHsKICAgICAgICBwZGVsdGEgPSBzcXJ0KGRlbHRhKTsKCiAgICAgICAgLy8gUGllcndpYXN0ZWsgeDEg4oCTIHN0YWJpbG5hIHBvc3RhxIcKICAgICAgICBpZiAoYiA+PSAwKQogICAgICAgICAgICB4MSA9ICgtYiAtIHBkZWx0YSkgLyAoMiphKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHgxID0gKC1iICsgcGRlbHRhKSAvICgyKmEpOwoKICAgICAgICAvLyBEcnVnaSBwaWVyd2lhc3RlayB6IGlsb2N6eW51IHBpZXJ3aWFzdGvDs3cKICAgICAgICB4MiA9IGMgLyAoYSAqIHgxKTsKCiAgICAgICAgY291dCA8PCAieDEgPSAiIDw8IHgxIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAieDIgPSAiIDw8IHgyIDw8IGVuZGw7CiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgIkJyYWsgcGllcndpYXN0a293IHJ6ZWN6eXdpc3R5Y2giIDw8IGVuZGw7CiAgICB9CgogICAgY291dCA8PCBlbmRsOwoKICAgIC8vID09PT09IFBSWllLxYFBRCAyID09PT09CiAgICBhID0gMTsKICAgIGIgPSAxMDAwMDsKICAgIGMgPSAxOwoKICAgIGNvdXQgPDwgIlByenlrbGFkIDI6IHheMiArIDEwMDAweCArIDEgPSAwIiA8PCBlbmRsOwoKICAgIGRlbHRhID0gYipiIC0gNCphKmM7CgogICAgaWYgKGRlbHRhID49IDApIHsKICAgICAgICBwZGVsdGEgPSBzcXJ0KGRlbHRhKTsKCiAgICAgICAgLy8gUGllcndzenkgcGllcndpYXN0ZWsg4oCTIHN0YWJpbG5hIHBvc3RhxIcKICAgICAgICBpZiAoYiA+PSAwKQogICAgICAgICAgICB4MSA9ICgtYiAtIHBkZWx0YSkgLyAoMiphKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHgxID0gKC1iICsgcGRlbHRhKSAvICgyKmEpOwoKICAgICAgICAvLyBEcnVnaSBwaWVyd2lhc3RlayBvYmxpY3pvbnkgemUgd3pvcnUgYyAvIChhKngxKQogICAgICAgIHgyID0gYyAvIChhICogeDEpOwoKICAgICAgICBjb3V0IDw8ICJ4MSA9ICIgPDwgeDEgPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICJ4MiA9ICIgPDwgeDIgPDwgZW5kbDsgIC8vIFNBTU8gZG9qZHppZSBkbyAwCiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgIkJyYWsgcGllcndpYXN0a293IHJ6ZWN6eXdpc3R5Y2giIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K