#include <iostream>
#include <cmath>
using namespace std;
void rozwiaz(double a, double b, double c)
{
cout << "\na = " << a << ", b = " << b << ", c = " << c << endl;
double delta = b*b - 4*a*c;
cout << "Delta = " << delta << endl;
if (delta < 0)
{
cout << "Brak pierwiastków rzeczywistych\n";
return;
}
double x1 = (-b - sqrt(delta)) / (2*a);
double x2 = (-b + sqrt(delta)) / (2*a);
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl;
// Sprawdzenie wzorami Viete'a
cout << "Sprawdzenie (Viete):\n";
cout << "x1 + x2 = " << x1 + x2
<< " (powinno byc " << -b/a << ")\n";
cout << "x1 * x2 = " << x1 * x2
<< " (powinno byc " << c/a << ")\n";
}
int main()
{
// 1) a=5, b=4, c=2
rozwiaz(5, 4, 2);
// 2) a=1, b=10000, c=1
rozwiaz(1, 10000, 1);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCByb3p3aWF6KGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMpCnsKICAgIGNvdXQgPDwgIlxuYSA9ICIgPDwgYSA8PCAiLCBiID0gIiA8PCBiIDw8ICIsIGMgPSAiIDw8IGMgPDwgZW5kbDsKCiAgICBkb3VibGUgZGVsdGEgPSBiKmIgLSA0KmEqYzsKICAgIGNvdXQgPDwgIkRlbHRhID0gIiA8PCBkZWx0YSA8PCBlbmRsOwoKICAgIGlmIChkZWx0YSA8IDApCiAgICB7CiAgICAgICAgY291dCA8PCAiQnJhayBwaWVyd2lhc3Rrw7N3IHJ6ZWN6eXdpc3R5Y2hcbiI7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGRvdWJsZSB4MSA9ICgtYiAtIHNxcnQoZGVsdGEpKSAvICgyKmEpOwogICAgZG91YmxlIHgyID0gKC1iICsgc3FydChkZWx0YSkpIC8gKDIqYSk7CgogICAgY291dCA8PCAieDEgPSAiIDw8IHgxIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJ4MiA9ICIgPDwgeDIgPDwgZW5kbDsKCiAgICAvLyBTcHJhd2R6ZW5pZSB3em9yYW1pIFZpZXRlJ2EKICAgIGNvdXQgPDwgIlNwcmF3ZHplbmllIChWaWV0ZSk6XG4iOwogICAgY291dCA8PCAieDEgKyB4MiA9ICIgPDwgeDEgKyB4MgogICAgICAgICA8PCAiICAocG93aW5ubyBieWMgIiA8PCAtYi9hIDw8ICIpXG4iOwogICAgY291dCA8PCAieDEgKiB4MiA9ICIgPDwgeDEgKiB4MgogICAgICAgICA8PCAiICAocG93aW5ubyBieWMgIiA8PCBjL2EgPDwgIilcbiI7Cn0KCmludCBtYWluKCkKewogICAgLy8gMSkgYT01LCBiPTQsIGM9MgogICAgcm96d2lheig1LCA0LCAyKTsKCiAgICAvLyAyKSBhPTEsIGI9MTAwMDAsIGM9MQogICAgcm96d2lheigxLCAxMDAwMCwgMSk7CgogICAgcmV0dXJuIDA7Cn0K