Problema ec21 Pbinfo #2667
Ecuație de gradul II
Fie aX^2+bX+c=0 o ecuație de gradul al doilea. Determinați soluțiile complexe ale acestei ecuații.
Date de intrare
Programul citește de la tastatură o expresie de gradul al doilea sub forma unui șir de caractere ce poate conține o singură literă mică (notată mai jos, general, cu X), cifre și simbolurile +, -, ^, reprezentând membrul stâng al ecuației. Pentru clarificare, vezi exemplele de mai jos.
Date de ieșire
Dacă ∆=0, se va afișa real și apoi, pe următorul rând, un număr rațional ce reprezintă singura soluție posibilă a ecuației;
Dacă ∆>0, se va afișa reale și apoi, pe următorul rând, se vor afișa două numere raționale ce reprezintă soluțiile ecuației în ordine crescătoare;
Dacă ∆<0, se va afișa imaginare și apoi, pe următorul rând, se vor afișa 'A B', unde A=−b2a și B=△√2a, cu semnificația că soluțiile ecuației sunt A±B.
Restricții și precizări
Expresia dată, cu termenii reașezați descrescător după putere, este de forma aX^2+bX+c.
a,b,c∈Z⋂[−10.000,+10.000] și a nenul;
^ reprezintă ridicarea la putere, adică x^2 este echivalent cu x2
X ∈ ['a', 'z'];
Se acceptă o eroare de maximum 10−2.
Răspunsuri la întrebare
Răspuns de
0
Nu ai precizat in ce limbaj ai nevoie dar in Pascal o ecuatie patrata arata in felul urmator tu o poti completa cu cerintele de care ai nevoie:
var
a,b,c:real;
x1,x2,d:real;
begin
writeln('Introduce a,b si c:');
readln(a,b,c);
d:=b*b-4*a*c;
if d<0 then
writeln('Ecuatia nu are rezultat')
else if d=0 then
begin
x1:=-b/2*a;
writeln('Rezultatele coincid:',x1);
end
else
begin
x1:=(-b-sqrt(d))/2/a;
x2:=(-b+sqrt(d))/2/a;
writeln('Rezultatul: x1=',x1,' Rezultatul: x2=',x2);
end
end.
Dilau420:
C++ daca se poate
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Geografie,
9 ani în urmă